1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
|
Oaklisp
=======
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.
|