On 29 October 2011 03:15, Rich Alderson <RichA at vulcan.com> wrote:
From: Liam Proven
Sent: Wednesday, October 26, 2011 3:18 PM
On 26 October 2011 13:40, Toby Thain <toby at telegraphics.com.au> wrote:
> Last night I came across (via Quora*) a piece
by Paul Graham that tries to
> put McCarthy's early Lisp work into perspective.
>
http://www.paulgraham.com/rootsoflisp.html
> (The article itself is linked here as a PostScript file.)
> I haven't read it all yet.
Nice article - thanks for that!
I'll second that. ?Very nice precis.
The more I read about Lisp, the more I want to
understand... but I
suspect I am too old & even in my youth I never got much past BASIC.
The only Lisp I've been able to follow code in is Dylan, and Dylan
seems to be rather moribund... :?(
JMC actually used what he called Lisp 2 in his classes, an algebraic
notation not unlike Dylan, very Algol-like in flavor. ?Not surprising,
when you think of the relative ages of Lisp and Algol.
I've done a little Googling and from the few scant mentions I can
find, I can't, TBH, see much different myself, as an outsider looking
in. I understand the namespace distinction (I think) but the syntax
looks nigh-identical from the few snippets I found.
There are some very good books on Lisp. ?There is one
introductory book
on the language which is a lot of fun, _Land of Lisp_ by Barski, in which
you learn the language by writing programs like Grand Theft Wumpus (in a
chapter entitled "This Ain't Your Daddy's Wumpus"). ?It's enough to
get
anyone started in Common Lisp. ?(I prefer CL's ball-of-mud to Scheme's
diamond, to steal the Lisp-is-a-ball-of-mud-APL-is-a-diamond trope from
Joel Moses.)
I still prefer the first edition of Winston and Horn's _LISP_, which
covers several dialects at once, especially MACLISP and InterLISP, but
it's dated, so go with the 2nd or 3rd instead. ?Wade Hennessey's _Common
Lisp_ is pretty good, too. ?These are all from the early days of CL,
before it got as big as Ubuntu or RedHat.
Noted. Ta!
The way I *really* learned Lisp was by looking at toy
implementations,
especially one written in Pascal. ?That was back in the early or mid 1980s,
way before the Web, so I don't remember where it was published. ?I read the
paper in the Math library @ Stanford (which no longer has a lot of the old
working papers collection on paper, just on fiche where it's a lot harder
to browse). ?If you like, I can send you the source to my variant, or make
it publicly readable on the Toad-1 at the museum.
Hmmm. Interesting. I wonder if I can remember enough BBC BASIC to
implement a very crude Lisp in it. :?D
If you get access JMC's 1960 paper in ACM, read
it. ?The APPLY function
which Paul Graham skips in his precis is a wonder in itself, and is the
reason that LISP 1.5 and InterLISP are "evalquote" while PDP-1 LISP,
MACLISP, CL & Scheme are "eval": ?The evaluation loop in the former goes
? ? ? ?(print (apply (read) (read)))
vs. ? ? (print (eval (read)))
Enough for this evening.
Many thanks! Lots of food for further reading there.
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.
--
Liam Proven ? Info & profile:
http://www.google.com/profiles/lproven
Email: lproven at cix.co.uk ? GMail/GoogleTalk/Orkut: lproven at
gmail.com
Tel: +44 20-8685-0498 ? Cell: +44 7939-087884 ? Fax: + 44 870-9151419
AIM/Yahoo/Skype: liamproven ? MSN: lproven at
hotmail.com ? ICQ: 73187508