Important Notice: transitioning to
a New Oaklisp
homepage. Bugs etc should be posted to the tracker there. The
version there is newer. This page is being kept until all material
has been transfered.
Oaklisp
Welcome to the Oaklisp homepage.
Oaklisp is an object-oriented dialect of Scheme with first-class
types, multiple inheritance, and lexically distributed method
definitions.
Our publically available (under the GNU GPL) implementation is based
on a bytecode emulator, but is nonetheless reasonably fast. The data
structures are set up for native code compilation, and we would
welcome a native code compiler.
This homepage is nascent. Send contributions to the author below.
Current Release
Although quite usable, there are still a couple known bugs that need
to be fixed, and some code that needs to be merged in.
Note: the Linux transition from a.out to ELF cost us a 10% slowdown on
the i386 architecture. If anyone knows how to get it back, please
contact me!
Current snapshot.
Directory of recent snapshots.
Binary packages: deb's, rpm's, etc.
Bibliography
- Kevin J. Lang and Barak A. Pearlmutter. Oaklisp: an
object-oriented dialect of Scheme. Lisp and Symbolic Computation,
1(1):39-51, May 1988.
- Kevin J. Lang and Barak A. Pearlmutter. Oaklisp: an
object-oriented Scheme with first class types. In ACM Conference
on Object-Oriented Systems, Programming, Languages and
Applications, pages 30-37, September 1986. Special issue of
SIGPLAN Notices.
- 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.
- Barak A. Pearlmutter. Garbage collection with pointers to single
cells. Communications of the ACM, December 1996, 39(12) pages
202-206. (Accepted Spring 1991.)
pdf
Shortly
Updates to the emulator.
Weak pointer fixes.
Alpha port (64-bit).
Slightly later
C callouts. Threads and futures using pthreads for true parallelism.
Realtime gc.
For the historians
Old Stuff