Pragmatics of the Great Lisp Engine Swap

Battle Plan

  1. Review and revise the the interfacing between C and Elisp. It's pretty good already, especially due to the fact that there's GCPRO'ing which allows us to stick with precise garbage collection.
  2. Come up with an implementation of a sufficiently powerful interface that would work across different Lisp engines. I have a framework for this currently implemented in Scheme 48.
  3. Choose an existing, well-maintained and well-structured Lisp engine. Viable substrates currently existing so far are Clisp, Scheme 48, and RScheme. (I have extensively run and tested almost all publicly available Scheme implementations, including scm, MzScheme, Gambit, MIT Scheme, Scheme 48, RScheme, Elk, and Bigloo.)
  4. Implement Elisp compatibility in those Lisp engines. This shouldn't be quite so hard, either by source-to-source translation or direct compilation.
  5. Stick the substrate and the C code together.

Michael Sperber [Mr. Preprocessor]
Last modified: Tue Jul 14 16:13:10 MST 1998