Return Styles: Pseud0ch, Terminal, Valhalla, NES, Geocities, Blue Moon. Entire thread

LISP textbook

Name: Anonymous 2011-02-11 8:44

If I wish to learn LISP with my only background being some basic knowledge in Java, which book should I learn from?

Name: Anonymous 2011-02-11 9:33

Scheme: SICP, HtDP; standard: RnRS (read them in order); additional material: lambda papers, The 90 Minute Scheme to C compiler, implementation source code.
Common Lisp: Practical Common Lisp (gigamonkey's), PAIP (norvig's), ANSI CL(Graham's), On Lisp (Graham's), Object-oriented programming in Common Lisp (Keene's, simple introduction to CLOS); additional material: The Art of the Meta-object Protocol (AMOP - how CLOS is implemented in itself and how you can extend CLOS to be any kind of object system; I'd heavily recommend reading it, if you like "metacircular" object systems; it's also how it's implemented in the majority of CL implementations, except they usually have a lot more optimizations), some of H.Baker's papers(http://home.pipeline.com/~hbaker1/) like "Metacircular Semantics for Common Lisp Special Forms", most of KMP's CL papers ( http://www.nhplace.com/kent/publications.html ) like ( http://www.nhplace.com/kent/Papers/Technical-Issues.html http://www.nhplace.com/kent/Papers/Special-Forms.html http://www.nhplace.com/kent/Papers/Condition-Handling-2001.html http://www.nhplace.com/kent/Papers/Exceptional-Situations-1990.html ); standard: Hyperspec(digital version of the second ANSI standard), Common Lisp the Language 2 (commentary/reference on an intermediate version of the second standard, pre-ANSI).
Both Lisps: LiSP (Queinnec's; a good book on making Scheme and CL compilers and interpreters)

I would also recommend you do not just read any of these books as is, but get an implementation ready (Racket and MIT Scheme for Scheme; Emacs+SLIME+Paredit+Redshank(+Hyperspec installed in Emacs) for the editor/interface to your favorite implementation (such as SBCL, ClozureCL, ECL, CLISP, Lisp-Works, AllegroCL, etc; I'd recommend at least having SBCL and ClozureCL installed and compiled from source code, so you can browse the source code locally in Emacs with M-. and M-,).

Once you're familiar with the languages, you're also free to com to #lisp (Common Lisp) or #scheme (Scheme) on Freenode if you have questions or want to talk to developers of popular implementations.

Newer Posts
Don't change these.
Name: Email:
Entire Thread Thread List