Pseudoscheme
An implementation of Scheme embedded in Common Lisp.
Originally developed for the Symbolics Lisp Machines, and later ported to
DEC's VAX LISP, Lucid (now Xanalys Liquid) Common Lisp,
and Harlequin/Xanalys Lispworks.
(It should work in most Common Lisps, but it works better with some
tuning.)
Thank you:
- Hannu Koivisto
- Oleg Trott
- Taylor Campbell
On github: https://github.com/jar398/pseudoscheme
Downloads:
Features:
- Translates to somewhat idiomatic Common Lisp
- Implements some lexically apparent tail recursions as loops (but
is not generally tail recursive)
- Has a Scheme-48-like module system implemented using
Common Lisp packages
- Has a Scheme-48-like record package implemented using
Common Lisp structures
- Adheres carefully to R4RS, except for deficits in tail recursion
and call-with-current-continuation
- Distinguishes the empty list (implemented as Common Lisp NIL) from
#F and T from #T
- Famous as platform for Cornell mobile robot system and as the
first bootstrap platform for Scheme 48
Jonathan A. Rees