RookieLisp

RookieLisp is the result of a seminar I  attended at my university in 2011. The seminar was about design and implementation of advanced programming languages. Each student in the seminar had to develop a simple Lisp interpreter in the programming language of his choice.

I developed mine in C++ which included the development of a simple garbage collector. RookieLisp is still far away from optimum (regarding performance and completeness) but it features the most common functions of a basic Lisp interpreter.

Features:

  • Closures (I know… a ‘must have’)
  • Macros
  • Implements Baker’s Threadmill algorithm for garbage collection

Known issues:

  • The ‘let’-function does not evaluate expressions in the binding list (simple bug)
  • Too deep recursions may cause a stack overflow (need to reimplement all functions in continuation passing style)
  • Binding lookup is very slow since it does not use hashtables but simply steps through a linked list and compares symbols

Download (source code + precompiled binaries): RookieLisp_Lawitzki_22545.zip

Leave a Reply

Your email address will not be published. Required fields are marked *


− one = 3

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>