As an exercise, I'm thinking of writing an implementation of a minimal
version of lisp. I expect that it would probably be based on an old
version of lisp, predating the advent of common lisp, and maybe going
back to the earliest versions of the language. I'm having trouble find
specs online for such a version of the lisp language.
I don't consider myself a good programmer and I'm trying to keep this
as simple as possible to stay within the limits of time, energy and
competence I can devote to such a project.
If you know where I can find such specs online, please let me know.
Ignorantly,
Allan Adler
···@zurich.ai.mit.edu
****************************************************************************
* *
* Disclaimer: I am a guest and *not* a member of the MIT Artificial *
* Intelligence Lab. My actions and comments do not reflect *
* in any way on MIT. Moreover, I am nowhere near the Boston *
* metropolitan area. *
* *
****************************************************************************
Allan Adler <···@nestle.ai.mit.edu> wrote:
+---------------
| As an exercise, I'm thinking of writing an implementation of a minimal
| version of lisp. I expect that it would probably be based on an old
| version of lisp, predating the advent of common lisp...
+---------------
Why? You should be able to write a minimal but usable Lisp which is a
subset[1] of Common Lisp, which would give you the advantage of being
able to host the development on an existing CL implementation until you
can get it complete enough to be self-hosting.
-Rob
[1] The requirements for a Lisp being considered a "subset of Common Lisp"
are pretty minimal. See CLHS "1.7 Language Subsets":
For a language to be considered a subset, it must have the property
that any valid program in that language has equivalent semantics
and will run directly (with no extralingual pre-processing, and
no special compatibility packages) in any conforming implementation
of the full language.
-----
Rob Warnock <····@rpw3.org>
627 26th Avenue <URL:http://rpw3.org/>
San Mateo, CA 94403 (650)572-2607
Allan Adler <···@nestle.ai.mit.edu> writes:
> I expect that it would probably be based on an old version of lisp,
> predating the advent of common lisp, and maybe going back to the
> earliest versions of the language. I'm having trouble find specs
> online for such a version of the lisp language.
http://green.iis.nsk.su/~vp/doc/lisp1.5/
--
Lars Brinkhoff, Services for Unix, Linux, GCC, HTTP
Brinkhoff Consulting http://www.brinkhoff.se/
Allan Adler wrote:
> As an exercise, I'm thinking of writing an implementation of a minimal
> version of lisp. I expect that it would probably be based on an old
> version of lisp, predating the advent of common lisp, and maybe going
> back to the earliest versions of the language. I'm having trouble find
> specs online for such a version of the lisp language.
You probably know:
<http://mitpress.mit.edu/sicp/full-text/book/book-Z-H-26.html>
<http://mitpress.mit.edu/sicp/full-text/book/book-Z-H-35.html#%_sec_5.5>
For a very readable in-depth description of both interpreters and
compilers see Christian Queinnecs extremely interesting book
"LiSP - Lisp in Small Pieces".
--
Jens Axel S�gaard
Hello,
You might be interested in "Interpreting Lisp" by Gary D. Knott. I found
it on the web as a pdf a few years ago and it gave me some insight on
how the wizards make the magic work.
I found the book on CiteSeer, here's a link:
http://citeseer.nj.nec.com/cache/papers/cs/3638/ftp:zSzzSzftp.civilized.comzSzpubzSzLispBookzSzlispbook.pdf/by-gary-d-knott.pdf
--dennis
> As an exercise, I'm thinking of writing an implementation of a minimal
> version of lisp. I expect that it would probably be based on an old
> version of lisp, predating the advent of common lisp, and maybe going
> back to the earliest versions of the language.
I think this is as early as it gets:
http://www-formal.stanford.edu/jmc/recursive.html
and see also:
http://www.paulgraham.com/paulgraham/rootsoflisp.html
Cheers,
Marcus