Greg Menke <gregm-news@toadmail.com> wrote:
+---------------
| cstacy@news.dtpq.com (Christopher C. Stacy) writes:
| > ... If you're going to implement a subset Lisp compiler
| > as a teaching example, be sure to strongly highlight: the fact that
| > it's not anything like a complete Common Lisp, people don't normally
| > program in this subset...
|
| ... A mini-pseudo-lisp gives vastly improved syntax and a lot of
| features the rom basic doesn't have. ... It is not intended to be
| a large part of CL, or comprehensive in any particular way, its more
| of a pain reduction tool.
+---------------
In that case, you might want to piggyback on a classical acronym from
the old days: LAP, for Lisp Assembly Program. You can call your compiler
"LAP with some convenience Lisp macros", if you want to be really safe. ;-}
-Rob
p.s. I've been musing off & on for some time about a "LAP-C"
[double pun intended], which would be an S-expr representation
of C source that would allow "convenience Lisp macros" for doing
all the neat compile-time stuff that "#define" is so terrible at.
Does anyone know of any past projects along those lines...?
Note: I am quite familiar with Aubrey Jaffer's "Schlep", a simple
Scheme-subset to C transliterator, but it uses a kind of Hungarian
mangling of symbols [though with suffixes instead of the more common
prefixes] to convey type information to the C output, and for some
time now I've felt that a CL-subset to C transliterator would be more
perspicuous, since one could use normal CL declaration syntax to capture
the type info instead of Hungarian. [A couple of years ago I hacked
on "Schlep" for a while trying to add CL declaration syntax, and got
bogged down. But that was before I started programming in anger in CL...
Hmmm... Maybe now...]
In any case, those interested in Lispy mini-languages for hardware work
might find it interesting to read the following:
<URL:http://swiss.csail.mit.edu/~jaffer/Work/>
<URL:http://swiss.csail.mit.edu/~jaffer/Work/scm95-1>
<URL:http://swiss.csail.mit.edu/~jaffer/Work/scm95-2>
<URL:http://swissnet.ai.mit.edu/~jaffer/Docupage/schlep.html>
<URL:http://swissnet.ai.mit.edu/~jaffer/Docupage/schlep.scm>
Older version:
<URL:http://swissnet.ai.mit.edu/ftpdir/users/jaffer/schlep.scm>
-----
Rob Warnock <rpw3@rpw3.org>
627 26th Avenue <URL:http://rpw3.org/>
San Mateo, CA 94403 (650)572-2607