github.com/danielwhite/microlisp (go): Microlisp is a Lisp interpreter. It's primarily a toy, and is a work in progress.  Its initial definition is based on McCarthy's "A Micro-Manual for Lisp: Not the Whole Truth".  An environment is a value that maintains mappings between a symbol and a value. If an environment has a parent, then bindings are inherited.  The evaluator typically provides an environment implicitly.  Variables.  Functions.  The error system is very simple. If an error value is thrown, it stops the current evaluation, and is handled and printed by the REPL.  Functions.
Keywords: interpreter|lisp