Chapter 33 - Where to Go Next
I hope that this book has whetted your appetite for Lisp. If so,
you'll want to explore further; this chapter provides pointers to
other sources of information and products.
Suggestions for further reading
- The Art of the Metaobject Protocol, Kiczales et al, MIT Press, 1991, ISBN 0-262-61074-4
- This is the definitive text on the metaobject protocol,
referred to in Lisp circles as "AMOP."
This is not light reading; save it for when you
feel quite confident in your Lisp abilities.
- ANSI Common Lisp, Graham, 1996, Prentice-Hall, ISBN 0-13-370875-6
- This is a good refresher for an experienced Lisp programmer,
as well as being an excellent second text for the beginner. (I think
it's a bit too terse to use as a first text for a beginner, but you
may want to look at it and see whether you think it's approachable.)
- On Lisp: Advanced Techniques for Common Lisp, Graham,
Prentice Hall, 1994, ISBN 0-13-030552-9
- This has become the canonical reference for macro techniques.
- Object-Oriented Programming in Common Lisp: A Programmer's Guide to CLOS, Keene, 1989, Addison-Wesley, ISBN 0-201-17589-4
- Keene's book is quite simply the book to read when you
want to understand CLOS. It's short, and it covers all of the
essentials. Its best feature is its profuse application of
real-world examples.
- Understanding CLOS: The Common Lisp Object System, Lawless & Miller, 1991, Digital Press, ISBN 1-55558-064-5
- Lawless and Miller's book covers more of CLOS than Keene's book,
but the treatment is closer to a reference than a tutorial.
- Common Lisp: The Language, 2nd Ed., Steele, 1990, Digital Press, ISBN 1-55558-041-6
- Dubbed "CLtL2," this was an interim interpretation of the work of the ANSI
standardization committee. It has no standing as part of the standards
process, but was used by many Lisp vendors to anticipate the final
outcome of the committee's work. Some Lisp systems still implement
portions of both the CLtL2 description and the ANSI standard.
- Garbage Collection: Algorithms for Automatic Dynamic
Memory Management, Jones et al, 1996, Wiley, ISBN 0-471-94184-4
- This is an excellent reference covering all aspects of dynamic
storage allocation techniques.
- Object-Oriented Common Lisp, Slade, 1998, Prentice-Hall, ISBN 0-13-605940-6
- Slade's book is probably the best book available on actually
using a Common Lisp environment for something other than AI
programming. I think it's suitable for a beginner, but should
probably be supplemented by another title that provides better
insight into the Lisp language.
- Common LISPcraft, Wilensky, 1986, W.W. Norton & Co., ISBN 0-393-95544-3
- When I was first learning Common Lisp, I found Wilensky's
book the most helpful at exposing some of Lisp's unique concepts,
such as closures. This book is easy to read (without being
patronizing) and includes a lot of very clear examples. There's also
a brief Common Lisp reference in the appendix. I still recommend
this as a first book for beginners.
Historical References
- Cooperating Sequential Processes, Dijkstra,
pp. 43-112 in Programming Languages, Genuys (ed.), Academic Press,
1968.
- Dijkstra described the techniques used for process coordination.
The dining philosophers
problem is one of Dijkstra's examples of process coordination when
resources must be shared.
- Recursive Functions of Symbolic Expressions,
J. McCarthy, CACM, 3, 4, 1960, ppg. 184-195.
- This is McCarthy's seminal Lisp paper. (Available online in
various formats at his web site:
http://www-formal.stanford.edu/jmc/index.html)
On-line sources
- The Association of Lisp Users
- Information on conferences, jobs, implementations, etc.
- Common Lisp HyperSpec (TM)
- A hypertext version of the ANSI Common Lisp
standard , constructed by Kent Pittman and hosted by Harlequin,
Inc.
- Searchable ANSI Common Lisp Index
- Constructed by Steve Haflich and hosted by Franz, Inc., this site
offers a full-text index of the final draft document which became
(with non-technical revisions by ANSI) the Common Lisp specification.
Very handy for finding all references to a term.
- MetaObject Protocol
- Not a part of the Common Lisp standard, the MetaObject Protocol is
widely supported as a interface to the mechanism underlying CLOS.
Commercial vendors
- Digitool, Inc. Home Page
- Digitool provides both 68K and PPC versions of Macintosh Common Lisp, a world-class Lisp development system.
- The Franz Inc. Home Page
- Franz makes Common Lisp compilers for Unix and Windows. They
have trial versions for Windows and Linux.
- Harlequin
- Harlequin has a free Lisp interpreter for Windows and a professional
product for 32-bit Windows based upon their LispWorks environment.
Contents | Cover
Chapter 32 |
Chapter 34
Copyright © 1995-1999, David B. Lamkins
All Rights Reserved Worldwide
This book may not be reproduced without the written consent of its author. Online distribution is restricted to the author's site.