Articles about using F# to implement Lisp

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#:

  1. Introduction
  2. Parsing with fslex and fsyacc
  3. Expression trees and .NET methods
  5. What’s next?

Ashley Nathan Feniello’s FScheme series:

  1. Scheme in F#
  2. Just ‘let’ Me Be Already!
  3. Lambda the Ultimate!
  4. Rinse and Recurse
  5. What ‘letrec’ Can’t Do
  6. What’s Lisp Without Lists?!
  7. No Wait, Macro the Ultimate!
  8. Oh, The Humanity!
  9. Language vs. Library
  10. Turning Your Brain Inside Out with Continuations
  11. Playing Dice with the Universe
  12. Functional I/O (or at least “O”)
  13. Functional I/O (including “I” this time)
  14. Functional I/O (Historical Debugging)

Luca Bolognese’s Write Yourself a Scheme in 48 Hours in F#:

  1. Part I
  2. Part II
  3. Part III
  4. Part IV
  5. Part V
  6. Part VI
  7. Part VII

8 thoughts on “Articles about using F# to implement Lisp

  1. 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 :)

    1. P.S. do you know if these implementations are Turing Complete?

      1. I’m sure they are ;-)

    2. I’m glad you like it! :-)

  2. […] Jorge Tavares blogged “Articles about using F# to implement Lisp“. […]

  3. jpotisch

    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:

  4. Thanks for the link! This looks like interesting material.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: