

Lisp Machine Manual, Hypertext Edition - networked
http://common-lisp.net/project/bknr/static/lmman/frontpage.html

======
Animats
That'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...](http://makezineblog.files.wordpress.com/2009/02/lisp-machine-
keyboard.jpg?w=600&h=450)

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
Wow, a machine devoted to a programming language. That is pretty interesting.
Were there other machines devoted to a single language like that?

~~~
cbd1984
Well, 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
Moore'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
> 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.)

------
mahmud
Skimming 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
The 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
> 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.

------
DonHopkins
My 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.50...](https://www.facebook.com/photo.php?fbid=74206161754&set=t.502061754&type=3&permPage=1)

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.50...](https://www.facebook.com/photo.php?fbid=83379246754&set=t.502061754&type=3&permPage=1)

