[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

almost scheme in common lisp



I have written a macro package which implements Scheme, less general
tail-recursion and first-class continuations, in Common Lisp.  It
appears to be effective at transforming any Common Lisp implementation
into an acceptable development environment for Scheme programs.

Loops written using LETREC, internal DEFINE, or "named LET" are
macroexpanded into an appropriate TAGBODY construct, but other than
that, tail recursion is only done at the whim of your particular CL
implementation.

Being a macro package and not a compiler or interpreter, continuations
also clearly can't work in general (unless, again, your CL just happens
to support them).  Other incompatibilities with the "Revised^3" Scheme
report are minor.

It's called "Pseudoscheme" and resides in
     MC.LCS.MIT.EDU:  "JAR;PSEUDO >"
The documentation is in
     MC.LCS.MIT.EDU:  "JAR;PSEUDO DOC"

I'll send it by electronic mail to those unable to FTP it.  Please
send mail to INFO-CLSCHEME-REQUEST@MC.LCS.MIT.EDU if you start using it,
so you can stay up to date on improvements.

Feel free to redistribute it, but try to let me know if you do so.

The documentation file describes its peculiarities in somewhat more detail.

- Jonathan Rees