Jorge Tavares

"It is sometimes an appropriate response to reality to go insane." — Philip K. Dick

Articles about using F# to implement Lisp

with 7 comments

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
  4. http://www.partario.com/blog/2009/06/lisp-compiler-in-f-il-generation.html
  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
About these ads

Written by Jorge Tavares

April 6, 2014 at 20:08

Posted in Programming

Tagged with , ,

7 Responses

Subscribe to comments with RSS.

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

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

  3. 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:

    http://blog.steveolsen.us/monkeyspace-talk/

    jpotisch

    April 7, 2014 at 13:53

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

    Jorge Tavares

    April 7, 2014 at 23:32


Leave a Reply

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

WordPress.com Logo

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

Twitter picture

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

Facebook photo

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

Google+ photo

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

Connecting to %s

Follow

Get every new post delivered to your Inbox.

%d bloggers like this: