I was looking for examples of Lisp implementations using F# and found these 3 interesting series of blog posts. You can find other posts about implementing Lisp or Scheme using F# but these were the ones I found more comprehensive and different enough to compare different implementations. Although these Lisp implementations are learning experiments and not for production use, it’s fun to see how they are implemented. The series are the following ones:
Tim Robinson’s Lisp Compiler in F#:
- Parsing with fslex and fsyacc
- Expression trees and .NET methods
- What’s next?
Ashley Nathan Feniello’s FScheme series:
- Scheme in F#
- Just ‘let’ Me Be Already!
- Lambda the Ultimate!
- Rinse and Recurse
- What ‘letrec’ Can’t Do
- What’s Lisp Without Lists?!
- No Wait, Macro the Ultimate!
- Oh, The Humanity!
- Language vs. Library
- Turning Your Brain Inside Out with Continuations
- Playing Dice with the Universe
- Functional I/O (or at least “O”)
- Functional I/O (including “I” this time)
- Functional I/O (Historical Debugging)
Luca Bolognese’s Write Yourself a Scheme in 48 Hours in F#:
8 thoughts on “Articles about using F# to implement Lisp”
cool man, this is something I am interested in. I have gone through some of the Haskell “Lisp in 48 hours” wikibook and now I’m looking to get back into .NET. Especially after the Roselyn open source announment :)
P.S. do you know if these implementations are Turing Complete?
I’m sure they are ;-)
I’m glad you like it! :-)
[…] Jorge Tavares blogged “Articles about using F# to implement Lisp“. […]
My coworker gave a talk at MonkeySpace last year on the Scheme implementation he wrote in F#, largely due to F#’s great pattern matching. Video available off the link:
Thanks for the link! This looks like interesting material.
Reblogged this on Sergey Tihon's Blog.