#Haskell

Writing a Lisp: Continuations

, in Lisp, Haskell

This week I added continuations to my Lisp. They’re a fascinating feature, and a popular demand in the survey. It has been the most challenging feature so far, both to implement and explain, but the result has been worth it.

Writing a Lisp: Reader Macro’s

, in Lisp, Haskell

Monday’s survey revealed that Reader Macro’s are your most requested feature. They replace built-in syntax, and enable users to extend the syntax from within the language. Implementing them right is difficult, however. Let’s try.

Writing a Lisp: Debugger

, in Lisp, Haskell

To make debugging easier, I added a simple pry-style debugger to my lisp. It immediately spawns a new repl in the current envirment, allowing you to poke around at will. Debug repl’s can be nested to arbitrary depth, and exited with :q.

Writing a Lisp

, in Lisp, Haskell

I’ve been working on my first general purpose programming language last week, guided by the books SICP and Write Yourself a Scheme in 48 Hours. This has been a goal of mine for a long time, but it somehow always looked intimidating. I was glad to find out that interpreters can actually be astonishingly simple, and would like to share what I learned along the way.