Skip to content
Go to file

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

This is an experiment based on - the Lisp 1.5 manual.

I never really learned Lisp, and the only times I sorta used it was in Emacs and in the SGMLtools project (where DSSL was the style sheet language). It seemed like a fun idea to implement the code from the book, as faithfully as possible, requiring Mexp and Sexp parsers. So I decided to just go through all the code and examples in the book, write them down as unit tests, and make them pass.

I've decided to use Scala because Scala's Parser Combinators make the process at least halfway bearable :). Really, they're the most fun I ever had when writing parsers.

This is on Github for my convenience, but it is meant purely as an academic exercise for my own pleasure (I mean, hey, if you want a Lisp environment on the JVM, your biggest problem is to pick which one to use). If you can use the code, congrats, but at the moment do not expect support or something.

OBTW - I decided to use the original typography. In the macos/ directory, there is a keyboard layout that maps alt-l to the lambda and alt-a to the right arrow.

OBTW2 - No, I don't know where this is going to. I'm just trying to make tests pass here, where the input of the tests is all the various examples in the manual :)


Parens - A Lisp implementation from the Book

Written in 2012 by Cees de Groot

This software is in the public domain. Please see the file UNLICENSE for details.


An exercise in implementing Lisp




No releases published


No packages published


You can’t perform that action at this time.