shebs@utah-cs.UUCP (Stanley Shebs) (02/20/88)
As part of my dissertation, I've been collecting info on the internal data representations of various Lisp systems. Lisp here is broadly defined as any language ultimately based on Lisp 1.5, and includes Scheme. What I'm looking for is the grungiest of machine-level details on the layout of cons cells, type discrimination schemes, memory organization, and storage recovery. Moon's description of the Symbolics architecture in the January 87 Computer is an excellent example, especially the pictures. Not every single detail is needed; just those that required conscious decisions by an implementor. (For instance, if arrays are tagged with a 0 to avoid masking, that is interesting, but if it was only because "array" is the first type name in the dictionary, that is not interesting.) Implementations embedded in other Lisps (Scheme 84, PCLS) are not of interest, but this does not exclude those written in other high-level languages (as can be seen from the list below). At present I have reasonably complete descriptions of the following systems, mostly derived from published material, manuals, or source code: 7090 Lisp 1.5 M-460 Lisp Q-32 Lisp Lisp 1.6 UCI Lisp MacLISP (PDP-10) Interlisp (VAX, PDP-10) LISP-11 Cambridge LISP (IBM) Zetalisp Franz Lisp PSL NIL Spice Lisp S-1 Lisp Franz Extended Common Lisp T MIT Scheme PC Scheme XLISP VT-LISP Kyoto Common Lisp On the other hand, I have only sketchy or no data on the following systems: PDP-1 Lisp PDP-6 Lisp MacLISP (Multics) muLisp TLC-Lisp Prime Lisp Lisp F3 Lisp/370 Lisp/VM Cambridge Lisp (ST) Interlisp-D Apollo Domain Lisp (the PSL deriv) Rutgers Lisp-20 Rutgers DEC-20 Common Lisp Golden Common Lisp HP Common Lisp VAXLisp Pyramid Common Lisp Lucid Lisp There are certainly others I've forgotten or simply don't know about - any info on these is quite welcome! Long-ago implementations are just as worth knowing about as more recent ones. Details received will go into my dissertation, and possibly into a separate tech report; any contributor who wants one will get a copy when this work is completed, perhaps in three months or so. The dissertation itself is about Lisp data structure design in general, and how it might be formalized. Of course, all contributions will be properly credited, not to mention greatly appreciated! stan shebs shebs@cs.utah.edu uunet!utah-cs!shebs
yuval@taux01.UUCP (Gideon Yuval) (02/24/88)
Berkeley&Bobrow's book "The Programming Language LISP" (MIT press, ISBN 0-262-59004-2) has the full PDP-1 LISP interpreter listings, plus some design documents (by Deutsch&Berkeley), on pp. 326-375. -- Gideon Yuval, +972-52-522255 (work), -2-690992 (home), yuval@taux02.nsc.com