L I T H P


tiny lisp interpreter



Overview

This is a basic, tiny LISP implementation. It was created to be a configuration/logic file format for a game I am working on. It is easily extendable enough to be used for other projects as well.

News

2001.10.16
Version (0.6) released. A few functions were combined, and code size was reduced a little elsewhere..
2001.10.10
Version (0.5) released. Everything that 0.4 had, plus the parser has been modified to make it easier to put in your own file reading mechanism onto it. A few unused functions were removed to reduce code size.
2001.10.10
Version (0.4) quietly released. It now supports user-definable functions using the "defun" lisp construct to add functions at interpretation time.
More documentation, code optimizations, and a small modification to the parser have yet to be made.
2001.10.09
Version (0.3) quietly released. It supports all of the base functions that I am going to support, not including one, "defun", which might take me some time to get working right, so I figured I'd release it before I start on that, since it's quite usable without it.
NOTE:I still need to document it a lot. I'm abusing noweb so far. heh.
2001.10.09
Version (0.2) released. It is almost to what I call "complete". The primary thing that it does not do yet is definitions of new functions.
Most of the basic LISP functions, and behavior are there. The design of the evaluator has changed a bit from 0.01 to allow for returning of strings and lists, rather than just numbers. It also integrates variables.
2001.10.04
Initial version (0.1) released. It does simple math right now.

License

This program is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

here's the license itself

Downloads

Lithp requires that the literate programming toolset "noweb" be installed properly on your system in order to build. If you also want the full documentation, you will also need 'pdflatex' as well.

0.6
(34kb)
  • set and setq combined to reduce code size
  • fixed single parameter 'defun' calls
  • fixed parsing over tabs
  • garbage-collect added
  • NEW: enum, select
  • Added a "Hello, World" to the sample. Type 'make test'
  • View the README for more info.
  • View the lithp.pdf (225kb) file for full programmer's documentation.
0.5
(32kb)
  • The parser has been modified to make it easier to put in your own file reading mechanism onto it.
  • A few unused functions were removed to reduce code size.
  • More documentation added.
0.4
33kb
  • It now supports user-definable functions using the "defun" lisp construct to add functions at interpretation time.
0.3
26kb
  • All but "defun" are supported for the base set of functions I will be implementing.
0.2
25kb
  • Most of the basic LISP functions, and behavior are there. The design of the evaluator has changed a bit from 0.1 to allow for returning of strings and lists, rather than just numbers. It also integrates variables.
0.1
17kb
  • Version 0.01. Does basic file parsing, math, etc.