Timothy <·····@netspace.net.au> wrote:
> I'm would like to learn LISP but don't know where to start?
The web pages of the Association of Lisp Users
http://www.elwoodcorp.com/alu/index.htm
contain lots of documents and references to further sites, and are quite
well organized. It's hard to give concrete advice without knowing more
about the background of your question - a seasoned software engineer with
solid theoretical background and interest in commercial applications is
likely to have other preferences than a student who mainly wants to learn
the essential concepts which make Lisp so expressive, and may not care very
much about delivery, and perhaps not even about a large standard library.
Here are a few references, both to books and to online material. Scheme is a
relatively small Lisp dialect designed with much emphasis on elegance and easy
combination of various concepts, whereas Common Lisp is a very large language
with lots of different tools for practical projects (which isn't to say that
Scheme wouldn't be useful - this is only meant as rough hint where to look
first, according to your preferences).
Scheme
------
* Harold Abelson and Gerald Jay Sussman with Julie Sussman,
"Structure and Interpretation of Computer Programs", Second Edition
This book shows the essence of a culture of programming (particularly
using the Lisp dialect Scheme, though its usefulness is not restricted
to Scheme programmers), which does also include a lot on computational
[and mental, of course] reflection. In the view of many people, this
is _the_ book which every programmer should read at least once.
* A still incomplete (but already quite useful) very readable introduction
are Paul Wilson's "Course Notes on Scheme and its Implementation", online at
http://www.cs.utexas.edu/users/wilson/cs386l.html
This may also be a good starting point to check whether you'd like to look
into Scheme at all.
* The Scheme Repository contains documentation of Scheme, source code and
different implementations:
http://www.cs.indiana.edu/scheme-repository/
Common Lisp
-----------
* Paul Graham, "ANSI Common Lisp"
This book teaches the major facilities of Common Lisp (including a quick
reference), and gives a good impression of what Lisp programming is about.
* Paul Graham, "On Lisp: Advanced Techniques for Common Lisp"
This book shows sophisticated methodologies usual in mature Common Lisp
programming, assuming some basic familiarity. It covers, among other topics,
functional abstraction, macros, rule-evaluation, and object-orientation.
Motto: Lisp is a programmable programming language
* The detailed definition of ANSI Common Lisp (though probably not suited
as primary tutorial, at least for most readers), is available online:
http://www.harlequin.com/books/HyperSpec/
-- Marc Wachowitz <··@ipx2.rz.uni-mannheim.de>