Machenschalk/Nickelsen Lisp (an early exercise, 1991)
- C 29.3%
- AMPL 25.4%
- Modula-2 23.9%
- Common Lisp 20.5%
- Makefile 0.5%
- Other 0.3%
| pp | ||
| .gitignore | ||
| bindings.c | ||
| btest.lisp | ||
| cadr.lisp | ||
| const.h | ||
| debug.c | ||
| errors.c | ||
| fac.lisp | ||
| freelist.c | ||
| funcs.h | ||
| garbagec.c | ||
| garbagec.mod | ||
| interpreter.c | ||
| lisp.h | ||
| lispbase.c | ||
| load.lisp | ||
| main.c | ||
| Makefile | ||
| map.lisp | ||
| mkloads.c | ||
| oblist.c | ||
| oblist.mod | ||
| plists.c | ||
| primitive.c | ||
| README.txt | ||
| registers.c | ||
| reprs.c | ||
| sexprio.c | ||
| Shapefile | ||
| stacks.c | ||
| topl.lisp | ||
| vars.h | ||
When we studied computer science at TU Berlin, Bernd Machenschalk
and I took a course in which the single aim was, in a number of
subsequent assignments, to write a Lisp interpreter in Modula II,
which we did. We did not like some of the specifications we had
to comply with in this task though, so afterwards we wrote another
one in C, which then was truly our own.
This repository contains the source code of the latter of the two,
as well as most of the former in the subdirectory pp/. Comments are
in German; they are rare in the C files, and with special characters
in (I think) CP437 encoding in the Modula files. Both can be seen
as historic. For a newer, conceptually simpler, but more complete
Lisp interpreter see the "lingo" repository.
[Juergen Nickelsen <ni@w21.org> 2017-04-03]
Updates:
- The comments in the Modula II sources are now translated to
UTF-8.
- The preferred Lisp newer interpreter is now "lyk", a Lisp in
Kotlin, which I started in January this year. See there for
more information.
[Juergen Nickelsen <ni@w21.org> 2024-05-16]