Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Q: Introductory material?

17 views
Skip to first unread message

Joerg Rodemann

unread,
Sep 23, 1997, 3:00:00 AM9/23/97
to

Since I have used mainly procedural and object-oriented languages for
programming tasks I would like to broaden my view with looking at some
different paradigm. Thus I would appreciate any pointers to Lisp/Common
Lisp introductory material such as online tutorials or good books.

I already checked the faq but the book descriptions are not extensive
enough for me to make a choice. I had a look at the Steele book. It seems
to be a good language reference but too detailed for actually learning
this language and the underlying concepts.

Any suggestions?

Regards

Joerg

--
rode...@mathematik.uni-ulm.de | Dipl.-Phys. Joerg S. Rodemann
Phone: ++49-(0)711-5090670 | Flurstrasse 21, D-70372 Stuttgart, Germany
-------------------------------+---------------------------------------------
rode...@rus.uni-stuttgart.de | University of Stuttgart, Computing Center
Phone: ++49-(0)711-685-5815 | Visualization Department, Office: 0.304
Fax: ++49-(0)711-678-7626 | Allmandring 30a, D-70550 Stuttgart, Germany


Aaron Gross

unread,
Sep 23, 1997, 3:00:00 AM9/23/97
to

Paul Graham's book "ANSI Common Lisp" is an excellent introduction to
Common Lisp for people with a background in procedural languages.

Rob Warnock

unread,
Sep 24, 1997, 3:00:00 AM9/24/97
to

Aaron Gross <aa...@morannon.bfr.co.il> wrote:
+---------------

| Paul Graham's book "ANSI Common Lisp" is an excellent introduction to
| Common Lisp for people with a background in procedural languages.
+---------------

It's good, but I found Graham's "On Lisp" to be an even better introduction to
the "feel" of the language, how one might to tend to use it or abuse it, etc.

Of course, when reading "On Lisp", you probably also want to keep "ANSI
Common Lisp" at hand, since it has a convenient quick reference for Common
Lisp in the Appendix, which "On Lisp" lacks. And yes, Steele's "CLtL2" is
still needed to fill in the details that Graham's Appendix glosses over...


-Rob

-----
Rob Warnock, 7L-551 rp...@sgi.com http://reality.sgi.com/rpw3/
Silicon Graphics, Inc. Phone: 650-933-1673 [New area code!]
2011 N. Shoreline Blvd. FAX: 650-933-4392
Mountain View, CA 94043 PP-ASEL-IA

Aaron Gross

unread,
Sep 24, 1997, 3:00:00 AM9/24/97
to

rp...@rigden.engr.sgi.com (Rob Warnock) writes:

> Aaron Gross <aa...@morannon.bfr.co.il> wrote:
> +---------------
> | Paul Graham's book "ANSI Common Lisp" is an excellent introduction to
> | Common Lisp for people with a background in procedural languages.
> +---------------
>
> It's good, but I found Graham's "On Lisp" to be an even better
> introduction to the "feel" of the language, how one might to tend to
> use it or abuse it, etc.

I liked "On Lisp" better too -- I'd say it's the difference between
"excellent" and "excellent-er". But the original poster seemed to be
asking for an introductory book for people with no Lisp experience at
all, and I don't think "On Lisp" is appropriate in this case.

Also, "ANSI Common Lisp" has a lot of stuff about how programming in
an interactive, functional, run-time-typed language like Lisp is
fundamentally different than programming in a C/C++/Pascal sort of
language. Joerg specifically said he wanted to "broaden [his] view
with looking at some different paradigm", and that's one reason I
think "ANSI Common Lisp" is a good choice compared to books by other
authors.

I probably should have mentioned that if Joerg is not restricting
himself to Common Lisp, he may want to read "Structure and
Interpretation of Computer Programs" by Abelson and Sussman. I assume
everyone will agree with this recommendation. This book uses Scheme,
which is a more elegant, minimalist dialect of Lisp.

Aaron

Kent M Pitman

unread,
Sep 24, 1997, 3:00:00 AM9/24/97
to

rp...@rigden.engr.sgi.com (Rob Warnock) writes:

> And yes, Steele's "CLtL2" is still needed to fill in the details
> that Graham's Appendix glosses over...

It's worth noting that ANSI Common Lisp (the language, not the book)
is not strictly compatible with Steele's CLTL2 and as a reference (I
think Steele would even actually agree with me on this) it is not the
right reference any longer to ANSI Common Lisp.

The definitive reference is the ANSI standard itself (which you can
order at considerable expense in hardcopy from ANSI; ask for
X3.226/1994). But if you don't mind saving a few trees, the online
reference called the Common Lisp HyperSpec (TM) available from
Harlequin for free and is way fun because it is HEAVILY cross-indexed
with hyperlinks that make looking up terminology much easier than
the hardcopy. There are somewhere upwards of 105 kilohyperlinks
in there--one of the more massively hyperlinked documents of its kind.
You can browse it at
http://www.harlequin.com/books/HyperSpec/FrontMatter/index.html
[which works more slowly than I'd recommend for frequent use]
or find instructions for downloading your own personal copy [so it's
installed at your site or available on your personal laptop] at
http://www.harlequin.com/books/HyperSpec/
(The CLHS should take about 16MB of disk space on a unix--more on
a PC or Mac if you've configured your virtual disk volumes badly;
when in doubt, put it on the disk volume with the smallest total size.)

I always feel I should point out that the CLHS is NOT the ANSI
Standard; it IS a derivative work but there are minor differences.
Still, for practical purposes, the deviations are textual and not
material to language semantics.

Only if you feel the need to feel dead trees in your hands and you
don't want to spend the money for a real ANSI standard would I
recommend you use CLTL2 at this point. It's similar to ANSI CL, after
all, and it suffices for a number of purposes--but it's a better
reference to someone who already knows how CLTL2 and ANSI differ (and
so know what parts are still "trustable") than for someone trying to
learn ANSI from scratch.

Martin Rodgers

unread,
Sep 24, 1997, 3:00:00 AM9/24/97
to

Kent M Pitman wheezed these wise words:

> (The CLHS should take about 16MB of disk space on a unix--more on
> a PC or Mac if you've configured your virtual disk volumes badly;
> when in doubt, put it on the disk volume with the smallest total size.)

While this advise is good, I can add a recommendation that NT users
place CLHS on an NTFS drive. OS/2 users should use an HPFS drive.

The same applies to partitions, of course. A smaller partition should
have a smaller cluster size, depending on your partition size(s). The
FAT cluster size grows in powers of 2 as the partition size grows in
powers of 2. This is why there are so many superior filesystems for
small files! Whenever possible, avoid FAT (well named, IMHO).

Ideally, LAN users should place CLHS on a machine with a web server,
so that anyone on the network can share it. ;)
--
<URL:http://www.wildcard.demon.co.uk/> You can never browse enough
"As you read this: Am I dead yet?" - Rudy Rucker
Please note: my email address is gubbish

Will Hartung

unread,
Sep 24, 1997, 3:00:00 AM9/24/97
to

pit...@world.std.com (Kent M Pitman) writes:

>rp...@rigden.engr.sgi.com (Rob Warnock) writes:

> You can browse it at
> http://www.harlequin.com/books/HyperSpec/FrontMatter/index.html [which
> works more slowly than I'd recommend for frequent use] or find
> instructions for downloading your own personal copy [so it's installed
> at your site or available on your personal laptop] at

> http://www.harlequin.com/books/HyperSpec/ (The CLHS should take about


> 16MB of disk space on a unix--more on a PC or Mac if you've configured
> your virtual disk volumes badly; when in doubt, put it on the disk
> volume with the smallest total size.)

This space problem is a real issue on things like W95 and the Mac.
I think it is less of a problem on the Unices out there.

I've saved off the CLTL2 web page on my machine. It's seems to be
about a 1000 pages (read - files), and takes only 2MB of storage, yet
because of the cluster size on my PC, it sucked up over 30MB of space.

EYAH!

The hot tip on these large HTML documents, especially on W95, is to
use a compressed drive volume. The compressed drives eliminate the
clustering problem completely, and you'll never notice any performance
degradation at all. Unfortunately, it's not enough to compress each
individual file. That doesn't help at all.

I recently did this sort of thing on my space challenged machine at
home, and starting with 80MB free, I've now got 150MB free on my main
drive, and 20MB free on my compressed drive, with the compress drive
taking 40MB off of the main one. So, moving those zillions of
documents onto one of these volumes can really make a difference.
I don't know if there is a Mac utility to create a compressed volume,
or not.

--
Will Hartung - Rancho Santa Margarita. It's a dry heat. vfr...@netcom.com
1990 VFR750 - VFR=Very Red "Ho, HaHa, Dodge, Parry, Spin, HA! THRUST!"
1993 Explorer - Cage? Hell, it's a prison. -D. Duck

Marc Wachowitz

unread,
Sep 24, 1997, 3:00:00 AM9/24/97
to

rp...@rigden.engr.sgi.com (Rob Warnock) wrote:
> Of course, when reading "On Lisp", you probably also want to keep "ANSI
> Common Lisp" at hand, since it has a convenient quick reference for Common
> Lisp in the Appendix, which "On Lisp" lacks. And yes, Steele's "CLtL2" is

> still needed to fill in the details that Graham's Appendix glosses over...

Note that CLtL2 is (and wasn't intended to be anything else) an intermediate
snapshot during standardization. You might as well go for the real thing.

Kent Pitman reworked the exact text of the standard, plus many notes of
technical issues which arose during the standardization process, into an
excellent collection of HTML documents, with much cross-linking. Assuming
some basic understanding of "Lisp-thinking" (the standard isn't intended to
be a primary tutorial (though it's remarkably readable for a standard of
such a size and complexity - thanks to the authors!)), I find it very well
suitable both as an exact reference and as a source to learn about those
topics which aren't usually covered extensively in tutorial books. You can
browse it online or download it at http://www.harlequin.com/books/HyperSpec/

Thus I'd recommend Graham's "ANSI Common Lisp" as introduction if you don't
know Lisp, "On Lisp" for advanced Lisp techniques (which few people would
invent without previous exposure to the Lisp way of thinking/programming),
and then the HyperSpec for the details and for exploration. I'm still in
the process of reading through it completely, and I think it's worth doing.

-- Marc Wachowitz <m...@ipx2.rz.uni-mannheim.de>

Mark Greenaway

unread,
Sep 24, 1997, 3:00:00 AM9/24/97
to

rode...@mathematik.uni-ulm.de (Joerg Rodemann) writes:

>Since I have used mainly procedural and object-oriented languages for
>programming tasks I would like to broaden my view with looking at some
>different paradigm. Thus I would appreciate any pointers to Lisp/Common
>Lisp introductory material such as online tutorials or good books.

Good idea. I was in the same boat, having only ever seen imperative
languages. Having used Common LISP and Scheme has really broadened my
horizons.

>I already checked the faq but the book descriptions are not extensive
>enough for me to make a choice. I had a look at the Steele book. It seems
>to be a good language reference but too detailed for actually learning
>this language and the underlying concepts.

LISP 3rd Edition by Winston and Horn is a very good introduction to the
LISP way of doing things. I like the examples because they show you how to
do non-trivial things like matrix multiplications, backward chaining etc.
It also stresses good programming practice.

--
Mark
Certified Waifboy And when they come to ethnically cleanse me
Will you speak out? Will you defend me?
http://www.st.nepean.uws.edu.au/~mgreenaw - Ich bin ein Auslander, PWEI

William Paul Vrotney

unread,
Sep 25, 1997, 3:00:00 AM9/25/97
to

In article <sfw7mc7...@world.std.com> pit...@world.std.com (Kent M
Pitman) writes:

>
> Only if you feel the need to feel dead trees in your hands and you
> don't want to spend the money for a real ANSI standard would I
> recommend you use CLTL2 at this point. It's similar to ANSI CL, after
> all, and it suffices for a number of purposes--but it's a better
> reference to someone who already knows how CLTL2 and ANSI differ (and
> so know what parts are still "trustable") than for someone trying to
> learn ANSI from scratch.

I wonder if Steele has considered authoring CLTL-ANSI.

--

William P. Vrotney - vro...@netcom.com

Barry Margolin

unread,
Sep 25, 1997, 3:00:00 AM9/25/97
to

In article <vrotneyE...@netcom.com>,

William Paul Vrotney <vro...@netcom.com> wrote:
>I wonder if Steele has considered authoring CLTL-ANSI.

Maybe Steele has, but I wonder how much interest his employer (Sun) would
have in such a project.

--
Barry Margolin, bar...@bbnplanet.com
GTE Internetworking, Powered by BBN, Cambridge, MA
Support the anti-spam movement; see <http://www.cauce.org/>
Please don't send technical questions directly to me, post them to newsgroups.

Kent M Pitman

unread,
Sep 25, 1997, 3:00:00 AM9/25/97
to

vro...@netcom.com (William Paul Vrotney) writes:

> I wonder if Steele has considered authoring CLTL-ANSI.

I'm 100% sure he's considered it. I'm almost as sure he's happy not
to have had this burden.

He started that book around 1980 and it took about 4 years to produce
the first one. The second was done quicker because it didn't involve
committee go-around, but probably not until after people had nagged
him for years about bugs in the first one. I have a vague
recollection that his reaction when I told him about CLHS was a sigh
of relief that there was something good and solid he could tell his
publisher about why not to do CLTL3, which I think he'd been under
severe pressure to do.

Having myself authored n generations of the dpANS specifications for
probably fewer years, but also having been involved in the whole process
nearly since its start, I can tell you it's just tedious. You may not
be able to tell (thanks to much good reorg work done by my predecessor,
Kathy Chapman) but ANSI CL and the HyperSpec started with Steele's
sources and painstakingly changed the format and one-by-one we rewrote
nearly all of it to the point where Steele readily agreed that the
remaining intellectual property stake he had in it was so small as to
be negligible. So his influence is there and secure, but really--one
gets to know the flaws of each and every sentence over that amount of
time and one wishes for other things to do with one's life. And after
a decade of involvement with the sentences in CLTL, I bet he wants a
new playground.

He seems happy having moved on to Java thoughts these days. And I
daresay Java can use all the Lisp influence it can get since it's
still not as Lisp-friendly as it could be. And if there's anyone who
can make headway in that regard, I think it's Steele.

Perhaps one day he'll do some other kind of book on Lisp, but PLEASE
don't wish a CLTL on him. Anything with CLTL in its name will have
the burden of being complete and accurate, and doing just those two
"little" things will come at the sacrifice of other qualities. He's a
very witty writer and inventive thinker, and you'd like his work a lot
better if you just let him write about the parts that capture his
fancy in a more targeted way, ignoring what doesn't suit his mood on a
given day. If you've never read the "LAMBDA the Ultimate" papers from
MIT's AI Lab, you should, and you'd know what I'm talking about. I
think they start with "The Art of the Interpreter" and go on to
include "Lambda the Ultimate Imperative", "Lambda the Ultimate
Declarative", and others. (Probably you can find order information at
the MIT AI Lab publications office--not sure of the URL, but start
from http://www.ai.mit.edu/ and I'm sure you can get there.) They are
amazing works of art and the world would be better served IMO if he
had the freedom to decide spontaneously to do things like that than
having people push him to maintain a legacy document like CLTL (or
worse, to write such a document anew to the quality expectations of
those who knew the previous one).

In asking for a CLTL-ANSI, there's a fine line between expresing
adoration at a past work and boxing him in ... imagine a publisher who
reads the newsgroup turning down his next book proposal and saying
"they want CLTL-ANSI, write that instead". A better praise would be
for us to say we're waiting for anything he might find
fun/interesting/useful to write on Lisp.

Life is short and one can't spend one's days reprising one's past
accomplishments--one aspires sometimes to new projects, to the extent
one's public will allow it. Once CLTL stood alone as the definitive
lisp book. There are now a wealth of really good books on Lisp to the
point that I myself finally feel less pressure to write my own book on
Lisp and might instead spend the same time writing a sci fi novel, or
a collection of humor or philosophy (assuming they're different). I
guess I wish Steele the same flexibility. He's certainly earned it.

Just my opinion.
If you want Steele's, ask him. (I didn't.)

Holger Schauer

unread,
Sep 25, 1997, 3:00:00 AM9/25/97
to

>>"MW" == Marc Wachowitz schrieb am 24 Sep 1997 15:45:49 GMT:

MW> tutorial books. You can browse it online or download it at
MW> http://www.harlequin.com/books/HyperSpec/

If Emacs is your Lisp-Editor-of-Choice you should also have a look at
http://www-digital.cern.ch/carney/emacs/emacs.html where you can
find hyperspec.el which provides an easy access to the HyperSpec (both
the "normal" online version at Harlequin and to an off-line version
saved some where on your disk).
(Hmm, can't remember if it works with XEmacs only... check it yourself.)

For CLtL2 there's the online version at http://
www.cs.cmu.edu/afs/cs.cmu.edu/project/ai-repository/ai/html/cltl/cltl2.html
and one can use browse-cltl2.el included with XEmacs 19.15 or
available from http://www.uni-koblenz.de/~schauer/uniemacs.html
which provides a comparable interface to on- and off-line CLtL2.

I found the combination of P.Grahams books and these two on-line
references to be all I need.

Holger
--
holger_schauer :-
mail_address("Holger....@gmd.de"),
project("BGP-MS/AVANTI, GMD Sankt Augustin, FIT.MMK"),
www_home_page("http://www.uni-koblenz.de/~schauer/index.html").

(^:= An ideal world is left as an exercise to the reader.

Erik Naggum

unread,
Sep 25, 1997, 3:00:00 AM9/25/97
to

* Holger Schauer

| If Emacs is your Lisp-Editor-of-Choice you should also have a look at
| http://www-digital.cern.ch/carney/emacs/emacs.html where you can
| find hyperspec.el which provides an easy access to the HyperSpec (both
| the "normal" online version at Harlequin and to an off-line version
| saved some where on your disk).
| (Hmm, can't remember if it works with XEmacs only... check it yourself.)

the version by Richard Carney looks very suspiciously like a reworked
version of the hyperspec.el I wrote a while ago, sans copyright notice or
credits, but with many full sentences and Lisp forms identical to mine.
hmmmm, indeed.

anyway, my old version (first published 1997-03-17) works in 19.34, but
required the Franz, Inc, `fi' package to work. the new version works in a
standard Emacs, has completion on Lisp symbols, a history of lookups, it
works better with your favorite browser, but is probably dependent on Emacs
20 features -- I haven't tested with 19.34. I also haven't had time to
write up a web page for it, but retrieve the following files (they are
marked as application/octet-stream by my HTTPD server, so they should be
saved to file immediately):

http://www.naggum.no/emacs/hyperspec.el
http://www.naggum.no/emacs/hyperspec.elc

thanks for the interest.

#\Erik
--
if you think this year is "97", _you_ are not "year 2000 compliant".

see http://www.naggum.no/emacs/ for Emacs-20-related material.

Juliusz Chroboczek

unread,
Sep 25, 1997, 3:00:00 AM9/25/97
to

In article <sfw7mc7...@world.std.com>,
pit...@world.std.com (Kent M Pitman) writes:

KMP> It's worth noting that ANSI Common Lisp (the language, not the book)
KMP> is not strictly compatible with Steele's CLTL2

On a related note: is there a list of updates and errata to CLtL2?
I've found the minor differences between ANSI Common Lisp and the
dialect described in CLtL2 rather annoying, and I'd love to be able to
go through my copy of the book with a red pencil (the major
differences, such as the new metaclass for conditions, are
sufficiently obvious not to be a problem).

J.

Kent M Pitman

unread,
Sep 25, 1997, 3:00:00 AM9/25/97
to

In article <dh3pvpx...@papa.dcs.ed.ac.uk> Juliusz Chroboczek <j...@dcs.ed.ac.uk> writes:

> On a related note: is there a list of updates and errata to CLtL2?
> I've found the minor differences between ANSI Common Lisp and the
> dialect described in CLtL2 rather annoying, and I'd love to be able to
> go through my copy of the book with a red pencil (the major
> differences, such as the new metaclass for conditions, are
> sufficiently obvious not to be a problem).

No.

In spite of the naming similarity, CLTL2 is not like CLTL. The
original CLTL was a committee document that was penned by Steele in
careful cooperation with the CL design committee (an ad hoc group
that predates X3J13).

Its logical successor was dpANS Common Lisp and then ANSI Common Lisp.

CLTL2 is nowhere in the stream. It is neither before nor after. It
was an independent work done by Steele at the request of his publisher
and not synchronized with the committee, nor proofread by the committee,
nor ultimately approved by the committee. There is no agreement that
CLTL2 was ever a correct or meaningful snapshot of the committee work
nor that it can even be read coherently in various places where it
contradicts itself.

Because of enormous public pressure to update implementations and
the lack of availability of an alternate text, CLTL2 was used as a
reference by some vendors for some considerable time, but it is really
not reference material even of the quality of CLTL. If you read
the preface carefully, bottom of page xii to top of xiii, you'll see
Steele never intended it to be a reference. (We debated a lot whether
it would be used as such anyway, and the feelings were mixed about
whether Steele should even do the second book, but eventually he
went ahead. For bizarre political reasons I can't go into here, it
was later extraordinarily useful to the whole community that he had;
perhaps one day I'll feel comfortable telling that story. But it
just goes to show that the world is never unambiguously divided into
good and bad--there's a big gray area of mixed effects.)

Because it was never something meant to be a reference, no one in the
committee kept records of exactly what changed between CLTL2 and ANSI
CL. We did keep meticulous records generally, mind you, and if you
find out from Steele what date he froze CLTL2 and you compare it to
the set of cleanup issues (see the CLHS) that follow that date, you
can probably reconstruct the approximate set of changes. But it won't
be in reference to CLTL2, so the game is up to you to figure out how
to connect that to CLTL2 if you want to take that as a project.

Implementors have probably each done the work to approximate the
answer, but I don't think anyone has the large amount of resources
needed to write such a bridge document in readable/publishable form,
since it would only be of very fleeting value. (Having written a
Maclisp/Zetalisp=>CL transition document myself, and having watched
Symbolics goof and sit on it for just a few more months than they
should have, and then having found the document was so uninteresting
as to not be worth publishing, I can tell you it is NO FUN to waste
that kind of personal time on it. Frankly, I think that compiler
warnings will catch most of the major differences and you should just
learn as you go.)

To my recollection, there are no weird changes like the change to "/"
that happened between Maclisp and CL, where the old syntax meant
something utterly different than the new and where an efficient
rewrite required super-careful thought. You MIGHT want to re-read the
rules for SPECIAL declaration scoping to make sure it had settled down
in time for CLTL2--I don't recall if it happened before or after that.
I don't have time to go re-read the definition of that, but it's the
only thing that sticks in my mind as being a little messy and I just
can't remember when it all settled. You can probably research the
cleanup writeups in CLHS to find out.

Special declarations aside, I think all the changes involve
incompatible renamings that are easily detected, changes to method
signatures that are easily detected, change to number of required or
keyword args that are easily mechanically detected by either the
compiler or the runtime system or both.

One nice thing about using CLHS is that it IS annotated with an
approximate (not always right, but usually) list of what cleanup
issues affect a passage. So if you see a familiar function with
no cleanup references at the bottom of the page, then the odds are
good (but not 100%--no guarantees) that there's no change that has
been made. If you see there are cleanup issues, it means they were
made since CLTL (which was the base document we started from),
NOT CLTL2. Oh, and the introduction of the major facilities
named Errors, Loop, and CLOS did NOT come through cleanups so you
won't find cleanup documents corresponding to their introduction,
only to their amendment. That may not matter to you, though, since
they were introduced prior to CLTL2 and you're probably already
used to them in their base form.

Good luck.

Aaron Leung

unread,
Sep 26, 1997, 3:00:00 AM9/26/97
to

> ...I would appreciate any pointers to Lisp/Common Lisp introductory

> material such as online tutorials or good books.

I've heard that Common Lispcraft by Wilensky is also very good.

-Aaron

Peter Lucas

unread,
Sep 26, 1997, 3:00:00 AM9/26/97
to

As far as I know, the book by Paul Graham, "ANSI Common Lisp", Prentice-Hall,
1996, ISBN 0-13-370875-6, is one of the few books that offers a modern,
easy to read, and complete introduction to Common Lisp. I have
never read a better book about Common Lisp. It includes a brief reference
manual, summarizing the entire Common Lisp language.

Peter
--
Peter Lucas
Dept. of Computer Science, Utrecht University
Padualaan 14, 3584 CH Utrecht, The Netherlands
Tel: + 31 30 2534094; E-mail: lu...@cs.ruu.nl

David B. Lamkins

unread,
Sep 28, 1997, 3:00:00 AM9/28/97
to

On Tue, Sep 23, 1997 4:14 AM, Joerg Rodemann
<mailto:rode...@mathematik.uni-ulm.de> wrote:
>Since I have used mainly procedural and object-oriented languages for
>programming tasks I would like to broaden my view with looking at some
>different paradigm. Thus I would appreciate any pointers to Lisp/Common

>Lisp introductory material such as online tutorials or good books.
>
>I already checked the faq but the book descriptions are not extensive
>enough for me to make a choice. I had a look at the Steele book. It seems
>to be a good language reference but too detailed for actually learning
>this language and the underlying concepts.
>

A number of very good books have already been listed in other replies,
among them:
* Lisp, 3ed by Winston & Horn
* Common LISPcraft by Willensky
* ANSI Common Lisp by Graham
* On Lisp by Graham
* Structure and Interpretation of Computer Programs by Abelson & Sussman

There's also a book, just out, which focuses on Common Lisp as a modern,
general-purpose language for "real-world" applications:
* Object-Oriented Common Lisp by Slade

Finally, I don't think anyone has yet mentioned:
* Artificial Intelligence Programming: Case Studies in Common Lisp by
Norvig
* Artificial Intelligence Programming, 2ed by Charniak et al
* A Programmer's Guide to Common Lisp by Tatar
* Understanding CLOS by Lawless & Miller

Dave

David B. Lamkins

unread,
Sep 28, 1997, 3:00:00 AM9/28/97
to

On Sun, Sep 28, 1997 12:30 PM, David B. Lamkins
<mailto:dlam...@teleport.com> wrote:
>Finally, I don't think anyone has yet mentioned:
>* Artificial Intelligence Programming: Case Studies in Common Lisp by
>Norvig
>

Sorry, the correct title is:
* Paradigms of Artificial Intelligence Programming: Case Studies in Common
Lisp

Johann Hibschman

unread,
Sep 28, 1997, 3:00:00 AM9/28/97
to

In article <B053FE5...@206.163.127.191>,

David B. Lamkins <dlam...@teleport.com> wrote:

>A number of very good books have already been listed in other replies,
>among them:
>* Lisp, 3ed by Winston & Horn

On a side note, I have a copy of the 2nd ed. of Winston & Horn from
many many moons ago when I was first exposed to Lisp. Is the 2nd
edition a huge enough improvement that it would be worth buying?
How about checking out from the library and reading?

- Johann, feverishly trying to remember the rest of 'Lenore'

--
Johann A. Hibschman | Grad student in Physics, working in Astronomy.
joh...@physics.berkeley.edu | Probing pulsar pair production processes.

mi...@orsi.com

unread,
Oct 6, 1997, 3:00:00 AM10/6/97
to

In article <sfw7mc7...@world.std.com>,
pit...@world.std.com (Kent M Pitman) wrote:

>
> rp...@rigden.engr.sgi.com (Rob Warnock) writes:
>
> > And yes, Steele's "CLtL2" is still needed to fill in the details
> > that Graham's Appendix glosses over...
>
> It's worth noting that ANSI Common Lisp (the language, not the book)
> is not strictly compatible with Steele's CLTL2 and as a reference (I
> think Steele would even actually agree with me on this) it is not the
> right reference any longer to ANSI Common Lisp.
>

[information on obtaining CLHS snipped] I've checked this out - but it
left me with a question - are there any systems implementing this
standard yet? I do occasionally read the FAQ, so if I passed over
something obvious, please forgive me.

Is it really worth it to learn the new standard now, or can we safely
wait a year or two? I guess since I have the dead trees, I'm wondering
how much longer I should use it.

> (The CLHS should take about 16MB of disk space on a unix--more on
> a PC or Mac if you've configured your virtual disk volumes badly;
> when in doubt, put it on the disk volume with the smallest total size.)
>

> I always feel I should point out that the CLHS is NOT the ANSI
> Standard; it IS a derivative work but there are minor differences.
> Still, for practical purposes, the deviations are textual and not
> material to language semantics.
>

> Only if you feel the need to feel dead trees in your hands and you
> don't want to spend the money for a real ANSI standard would I
> recommend you use CLTL2 at this point. It's similar to ANSI CL, after
> all, and it suffices for a number of purposes--but it's a better
> reference to someone who already knows how CLTL2 and ANSI differ (and
> so know what parts are still "trustable") than for someone trying to
> learn ANSI from scratch.

-------------------==== Posted via Deja News ====-----------------------
http://www.dejanews.com/ Search, Read, Post to Usenet

Erik Naggum

unread,
Oct 6, 1997, 3:00:00 AM10/6/97
to

* mi...@orsi.com

| Is it really worth it to learn the new standard now, or can we safely
| wait a year or two? I guess since I have the dead trees, I'm wondering
| how much longer I should use it.

learn ANSI Common Lisp, adopt it, and write wrapper functions around that
which is non-standard in your Lisp system, if you can. if you can't, get
another Lisp system that at least makes it possible, or ask your favorite
vendor to add what you can't add (efficiently). also make sure that you
don't violate the standard even if your implementation won't complain.

m a r c o x a . berkeley . edu

unread,
Oct 6, 1997, 3:00:00 AM10/6/97
to

mi...@orsi.com writes:

>
> [information on obtaining CLHS snipped] I've checked this out - but it
> left me with a question - are there any systems implementing this
> standard yet? I do occasionally read the FAQ, so if I passed over
> something obvious, please forgive me.
>

> Is it really worth it to learn the new standard now, or can we safely
> wait a year or two? I guess since I have the dead trees, I'm wondering
> how much longer I should use it.
>

AFAIK, CMUCL is pretty close to the standard, and the two major
commercial systems (Harlequin and Franz) are as well.

GCL (and the whole KCL genealogy) seems instead pretty far. (Mostly CLtL1).


--
Marco Antoniotti
==============================================================================
California Path Program - UC Berkeley
Richmond Field Station
tel. +1 - 510 - 231 9472

0 new messages