Inspired by lisp500, lisp800 is a small embeddable dialect by lisp500 with the emphasis on embeddability
Common Lisp C Other
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
qt Renaming min to core.c May 17, 2013
src More extensive output for symbols in INSPECT Jun 24, 2013
xcode
.gitignore Adding xcode proj May 16, 2013
LICENSE Initial import May 13, 2013
README.md

README.md

lisp800

lisp800 is based on Teemu Kalvas's lisp500. Lisp800 is an attempt to clean up the original Lisp500 source code to make it more useful for embedding and hacking. The main goal is to make interpreter embeddable and multiple context-oriented.

How to start

  cd src
  make
  rlwrap ./build/lisp800 lisp/init800.lisp

Note, that rlwrap is not mandatory, i.e. you can run this as ./build/lisp800 lisp/init800.lisp but the latter one lacks convenient readline wrapper's features you may want to have.

How to run smoke test

  cd src
  ./script/retest.sh

The execution output of the last command should contain PASSED at the last line, e.g.:

OK: (LIST 4 3 2 1 0) is EQUAL to (ACCUM 4)
OK: 1 is EQ to (FOO)
OK: (MACROEXPAND-1 (QUOTE (DEFWRAP FOO))) is EQUAL to (QUOTE (DEFUN FOO NIL 1))
PASSED