6 ms·
Lisp Machine Manual, Hypertext Edition
- mahmud 12y agoSkimming the table of contents you can see how this led directly to the Common Lisp specification. CL is a successful narrowing of LM; all the chapters that didn't make the cut appear to be outdated cruft, or outside the scope of a portable standard, and currently either unnecessary, or provided by a shim 3rd party library. Well done, CL standardization committee!
- rjsw 12y agoThe version of Lisp Machine Lisp documented in this manual implements Common Lisp. Have a look at version 4 or 5 (on bitsavers) to get a feel for the precursor Lisp.
- lispm 12y ago> The version of Lisp Machine Lisp (LML) documented in this manual implements Common Lisp. Not exactly. There is both Common Lisp and Lisp Machine Lisp. LML is the default language, but one can tell it to use CL. One can als call functions back and forth. They are two different Lisp dialects side by side. Example: There is the LML DEFSTRUCT and the Common Lisp version CLI:DEFSTRUCT. Later Symbolics made Symbolics Common Lisp and made it the default dialect on the machine. It then also supported Zetalisp (aka Lisp Machine Lisp), CLTL1 and some kind of ANSI COMMON Lisp.
- Animats 12y agoThat's the LISP machine's LISP manual, not the machine manual. Here's a picture of the "MIT Space Cadet" keyboard for the thing, with SHIFT, CONTROL, TOP, GREEK, SUPER, HYPER, and META shifts. All combinations were possible and all could be bound to EMACS commands. http://makezineblog.files.wordpress.com/2009/02/lisp-machine-keyboard.jpg?w=600&h=450 http://makezineblog.files.wordpress.com/2009/02/lisp-machine... I used a Symbolics 3600 a few times, and I wasn't impressed. Franz LISP on a VAX, which generated object files, was more useful, and didn't have 45-minute garbage collections. The LISP machine "Let's put everything including the OS and compiler into one address space" was so l33t, but lead to huge GCs. The whole LISP machine craze was from the era when the expert systems (anybody remember them?) profs were saying that strong AI was right around the corner. This was about 1983. That was followed by the "AI Winter".
- RexRollman 12y agoWow, a machine devoted to a programming language. That is pretty interesting. Were there other machines devoted to a single language like that?
- cbd1984 12y agoWell, if you take some partisan grumblings, most hardware is devoted to C, but that's arguable: Frankly, C isn't as good a fit for those machines as the partisans make out, being rather too high-level to really take advantage of the vector opcodes and parallelism those systems offer. Chuck Moore has made some CPUs which are really a nice fit for Forth, but I don't know if he considers them "Forth Machines" the way these computers were Lisp Machines.
- Animats 12y agoMoore's little Forth CPUs were cute. They only needed about 4K gates. The original version got wrong answers on division if the divisor was odd, and they couldn't afford to redo the custom silicon, so it shipped that way, with errata. Moore had an I/O system where the input device was three buttons, used in a chord fashion, and the output was color NTSC generated entirely by software by the Forth chip. The whole thing was a beautiful exercise in minimalism. As ICs got more gates, it was pointless. As for most hardware being devoted to C, that is true to some extent. C assumes you have one big flat address space. That killed off segmented-memory machines (IA-32 can do some interesting things in segmented mode, but nobody uses those features). It also killed off stack machines such as old Burroughs mainframes, where addresses are more like directory paths ("process 22/array 15/subscript 10", with hardware subscript checking and hardware support for array growth and moving). The price we pay for this is decade after decade of buffer overflow security flaws.
- cbd1984 12y ago> C assumes you have one big flat address space. Which means you can't talk about caching in C. You used to be able to declare that some variables would live in registers, but if you try that now, compilers ignore you. (As they should, given how easy register scheduling is for a compiler.) But not being able to declare things about cache can hurt you in some loops. I agree that near and far pointers were a blot on C and it's good that that mess is gone, but the "Big flat address space" is just as much an abstraction as "In-order execution", and C can't let you peel back the covers on either. (Assembly doesn't always let you peel back the covers, either, but that's another topic.)
- DonHopkins 12y agoMy friend Nick P. made me a wonderful orange "LISP CHINE NUAL" t-shirt -- he had to custom silk screen it to get the letters wrapped around the side properly! I was wearing in in Dappermarkt in Amsterdam during Queen's Day (a day when everybody's supposed to wear orange), and some guy actually recognized it and came up and complemented me on it! I guessed that he must be a graduate student studying AI, and it turns out that he was, of course! https://www.facebook.com/photo.php?fbid=74206161754&set=t.502061754&type=3&permPage=1 https://www.facebook.com/photo.php?fbid=74206161754&set=t.50... Here's another photo, where I'm competing with Howard Rheingold and James Burke for the Loudest Shirt on the Boat Award: https://www.facebook.com/photo.php?fbid=83379246754&set=t.502061754&type=3&permPage=1 https://www.facebook.com/photo.php?fbid=83379246754&set=t.50...