Below is the normal README for Oaklisp. I cloned it and, with the help of Claude Code, made the following changes:
- Port from 32-bit to 64-bit
- Bug fixes
- Source-only build (no world.bin file needed)
- Changed the version number from 1.3.8 to 2.0.0
- Added the ability to dump a world without exiting
- Added the ability to load a world at runtime (see Dump.md)
- Added full support for native threads (green threads were already supported)
- Added a concurrent GC
- Updated version to 2.1.0
This repo is located at: https://github.com/blakemcbride/oaklisp
Blake McBride blake@mcbridemail.com https://blakemcbride.com
Oaklisp is an object-oriented dialect of lisp sharing the standard lisp syntax, including common lisp style macros, first class types, multiple inheritance, and multiple namespaces (packages). Oaklisp is also a Lisp-1 dialect meaning functions and variables share the same namespace (like Scheme).
This is a portable implementation of a lisp interpreter / compiler for the Oaklisp dialect of lisp.
Project homepage(s)
- https://github.com/barak/oaklisp (homepage, development)
- http://barak.pearlmutter.net/oaklisp/ (ancient history)
The compiler compiles Oaklisp source code into byte-code for the included Oaklisp emulator / virtual machine. The implementation is described in the included documentation, and also in
-
Kevin J. Lang and Barak A. Pearlmutter. Oaklisp: an object-oriented Scheme with first class types. In OOPSLA-86, pages 30–7. doi: 10.1145/960112.28701. Special issue of ACM SIGPLAN Notices 21(11). URL http://barak.pearlmutter.net/papers/oaklisp-oopsla-1986.pdf
-
Kevin J. Lang and Barak A. Pearlmutter. Oaklisp: an object-oriented dialect of Scheme. Lisp and Symbolic Computation, 1(1):39–51, May 1988. URL http://barak.pearlmutter.net/papers/lasc-oaklisp-1988.pdf
-
Barak A. Pearlmutter. Garbage collection with pointers to individual cells. Communications of the ACM, 39(12):202–6, December 1996. doi: 10.1145/272682.272712. URL http://barak.pearlmutter.net/papers/cacm-oaklisp-gc-1996.pdf
-
Barak A. Pearlmutter and Kevin J. Lang. The implementation of Oaklisp. In Peter Lee, editor, Topics in Advanced Language Implementation, pages 189–215. MIT Press, 1991. URL http://barak.pearlmutter.net/papers/Oaklisp-TALI-Chapter-1991.djvu http://barak.pearlmutter.net/papers/Oaklisp-TALI-Chapter-1991.pdf
See BUILD.md for instructions on how to build the system.