From: Liam Proven
Sent: Sunday, October 30, 2011 9:00 AM
On 29 October 2011 03:15, Rich Alderson <RichA at vulcan.com> wrote:
> The way I *really* learned Lisp was by looking at
toy implementations,
> especially one written in Pascal.
[snip]
Hmmm. Interesting. I wonder if I can remember enough
BBC BASIC to
implement a very crude Lisp in it. :?D
Since my first exposure to Pascal was via the 3-part Tiny Pascal article
in BYTE, where a subset compiler was written in NorthStar BASIC, that
would be very interesting.
Writing a Pascal compiler for the DEC-20 in BASIC+2 was how I stopped doing
my Ph. D. work in linguistics.
May I ask: what do folk think of the quote I've
often seen cited:
* Scheme is an exotic sports car. Fast. Manual
transmission. No radio.
* Emacs Lisp is a 1984 Subaru GL 4WD: "the car that's always in front of
you."
* Common Lisp is Howl's Moving Castle.
Back when I saw first a version of this, Emacs Lisp wasn't on the radar, and
H'sMC was not written, so perhaps I should be quiet.
Back in the early days, when dinoLisps roamed the earth, there was a very
successful variant called MACLISP. This ran on PDP-10s, under ITS and TOPS-20
and WAITS (the Tops-10 variant on SAIL), and on a GE-645 under Multics.[1]
Now, there was a desire to have a version of the EMACS editor for the PDP-10
on Multics, because it had built into it an awareness of LISP syntax, even
though it was written in a far more arcane language called TECO.[2] A bright
fellow, Bernie Greenberg, thought to himself that with just a few tweaks,
MACLISP could be used to create a version of EMACS on Multics, and proceeded
to do so.
At the same time, over at the MIT AI Lab, people were experimenting with new
progamming languages all the time, and the best language for implementing
new programming languages was LISP, and the best LISP was MACLISP. These
folks were looking into problem-solving systems, and the first successful
language of this type was PLANNER. This was followed by CONNIVER. Then,
like a little mammaLisp among the dinoLisps, there arose SCHEME. This was
written, like the others in MACLISP, and showed its dinoLisp DNA in places.
SCHEME fell into the hands of the smaller-is-better enthusiasts, and had more
and more of its origins trimmed away with each new revision. It is nearly
perfect. This makes it hard to use, hard even to grasp, except by those who
spend all of their time concentrating only on Scheme.[3]
MACLISP continued along in its imperfections, influencing the development
of Lisp machines, such as Symbolics, LMI and the TI Explorer, and of new
variants of Lisp on strange architectures like the VAX (for example, NIL
under VMS and Franz Lisp under Unix). So many variants of MACLISP arose
that some felt a need to reduce the clutter.
But these were people of vision, so they invited not only those who worked
in the MACLISP variants, but the Standard Lisp/Portable Standard Lisp folks
from Utah, and the InterLISP folks from Xerox, and the
Schemers, to discuss
what the common denominator of all these variants of Lisp might
be. And so
was born Common Lisp, which rather than being the refined intersection of
all which was the ultimate fate of Scheme, became the enhanced union of all.
In the mean time, those Lisp machines used editors which grew out of the
Multics (!) version of EMACS written in MACLISP. The maintainer of the
software for one manufacturer, LMI, who was the original author of EMACS in
TECO, saw that this was good, and bethought himself that making this also
available on Unix workstations (the wet dream of the day) would be a good
idea, along the way to overthrowing the source-hoarding Unix hegemony. To
do this, he created a version of Lisp explicitly tailored to writing text
editors, and created a version of Emacs to run under his hypothetical OS,
called GNU.[4]
So while Scheme and Emacs Lisp and Common Lisp appear very different, they
have at their hearts the same DNA.
Hmm, I guess I did have a lot to say about it. Sorry 'bout that.
[1] Or a Honeywell 6180 or follow-on. Anyway, a 36-bit Multics system.
[2] Sure, TECO is an editor. But real TECO is Turing-complete.
[3] OK, OK, IMAO.
[4] GNU's Not Unix.
Rich Alderson
Vintage Computing Sr. Server Engineer
Vulcan, Inc.
505 5th Avenue S, Suite 900
Seattle, WA 98104
mailto:RichA at
vulcan.com
mailto:RichA at
LivingComputerMuseum.org
http://www.LivingComputerMuseum.org/