Reference Material for Common Lisp

up
prev next

search
site map
navigate
about

<*lisp*>
<*learning*>
<*applications*>
<*tools*>
<*community*>
<*REFERENCES*>
<*systems*>
<*related*>

older
bibliography
glossary

The following are reference works about various aspects of, or extensions to, Common Lisp. They are not tutorials. See also, the Books by subject and Books by author pages.
ANSI Specification
Describes the core language definition and required utilities.
Comon Lisp: the Language (CLtL2, CLtL1)
A more readable description of a slightly early version of the language, with motivations, comparisons, etc.
Common Lisp Interface Manager (CLIM)
A vendor standard for user interface development.
Meta Object Protocol (MOP)
A de facto standard for an open implementation of CLOS.
Common Lisp Hypermedia Server (CL-HTTP)
A widely used WWW server in Common Lisp.
Related References
I.E. not strictly Common Lisp or included within one of the above.

The ANSI Standard for Common Lisp

As of December 8, 1994, Common Lisp became an official ANSI Standard:
ANSI X3.226:1994 American National Standard for Programming Language Common LISP (X3J13).
It is the first Object Oriented language specification approved by ANSI.

The specification describes what conforming implementations must provide, how the provided utilities must behave, and what programmers must do to make keep their programs portable between implementations. It has a glossary of terms, definitions for every Common Lisp utility (often with examples) and references to other documents. It does not cover extensions to Common Lisp such as CLIM, the MOP or CL-HTTP.

  • The standard may be viewed in online as the HyperSpec. Technically, only ANSI's representatives can distribute the actual specification. The HyperSpec contains the same text as the specification, plus additional material and a useful search utility.

  • There is also a separate on-line search facility that allows you to do a more general search of the material.

  • Hardcopy should be available from ANSI or from Global Engineering Documents, Inc., 2805 McGaw Avenue, Irvine, CA 92714, 1-800-854-7179, 714-261-1455. Its about 1500 pages, so you might consider using the HyperSpec instead. It has been pointed out that a powerbook with the HyperSpec installed weighs less than the printed specification.

  • Copies of the TeX sources and Unix-compressed DVI files for the draft standard. The files corresponding to the second Public Review of Common Lisp are in the directory /pub/cl/dpANS2/*. These files correspond to draft 14.10, also known as document X3J13/93-102, which was forwarded by X3J13 to X3 in October, 1993. (The files from the first draft are in the directory /pub/cl/dpANS1/*.) The file Reviewer-Notes.text should be read before ftping the other files.

For more information, write to X3 Secretariat, Attn: Lynn Barra, 1250 Eye Street NW, Suite 200, Washington, DC 20005-3922, call 202-626-5738, fax 202-638-4922, or send email to x3sec@itic.nw.dc.us.

[other references]


Common Lisp: the Language, 2nd Edition (CLtL2)

Common Lisp: The Language [CLtL1]
Guy L. Steele
Common Lisp: The Language, 2nd Edition [CLtL2]
Guy L. Steele
Common Lisp: The Reference
Franz Inc.
Entries on Lisp (CLtL1) functions in alphabetical order.
Common Lisp, The Index
Rosemary Simpson
A cross-referenced index to CLtL1.
Before there was an ANSI standard for Common Lisp, there was "Common Lisp: the Language." This book, also known as CLtL1, described the state of the consensus on Common Lisp, circa 1984.

During the ANSI standardization process, Steele published a second edition (CLtL2). This book contains the complete contents of the first edition, plus material on CLOS, conditions, pretty printing and iteration facilities.

The book does not correspond exactly with the ANSI standard: some details are slightly different; some things from the standard are missing; and some things from CLtL2 are not in the final ANSI standard. Nonetheless, the book has become a bible for anyone working in Common Lisp. It is easier to read than the formal ANSI specification, and has additional commentatry and material.

  • CLtL2 may be viewed online.

  • Butterworth-Heinemann, the owners of Digital Press, have made the LaTeX sources to this book available.

  • A more recent book with similar scope is ANSI Common Lisp by Paul Graham.

[other references]


Common Lisp Interface Manager (CLIM)

The Common Lisp Interface Manager is a portable, graphical user interface toolkit. It is a vendor standard, not part of ANSI Common Lisp.

Originally developed by International Lisp Associates, Symbolics, and Xerox PARC, and now under joint development by several Lisp vendors, including Franz, Harlequin and Digitool. It is intended to be a portable successor of Symbolics UIMS (Dynamic Windows, Presentations Types). CLIM 2.0 also supports more traditional toolkit-style programming.

It is not free, and if it is available it can be purchased from the vendor of the Lisp system you are using.

[other references]


Meta Object Protocol (MOP)

The Common Lisp Object System (CLOS) is part of the ANSI standard, and defines a complete object oriented programming system. There is also a de facto standard for how CLOS should be implemented, exposing some of the internals in a controlled way.

The benefit of this is that programmers can portably tailor CLOS to meet their specific programming needs, or even create their own Object Oriented language.

The book The Art of the Metaobject Protocol, sometimes called the AMOP, includes the CLOS Metaobject Protocol specification as chapters 5 and 6.

  • Barry Margolin has published a review of the book.

  • The web site for the research associated with the book is http://www.parc.xerox.com/spl/projects/oi/.

  • The CLOS MOP from the AMOP may be viewed online in hyper-spec format. Note that:
    1. This is not part of the ANSI standard.
    2. The book includes considerable explanatory material that is not part of this HTML specification. Specifically, it introduces the basic principles of metaobject protocols, and works through the key elements of the CLOS Metaobject Protocol. A simple working interpreter suitable for experimentation is contained in an appendix.

  • The TEX sources for the MOP spec are available from Xerox as the file spec.tar.Z.

    The Closette files related to the book are also available from parcftp as the file closette.lisp.

  • A related book, Object-Oriented Programming: The CLOS Perspective, contains articles on MOP motivations, style and implementations. For example, one of the chapters is "Metaobject Protocols: Why We Want Them and What Else They Can Do".

[other references]


Common Lisp Hypermedia Server (CL-HTTP)

CL-HTTP is a full-featured server for the Internet Hypertext Transfer Protocol. It was developed at MIT, is free, and comes with source code. It has been used in a number of production servers.

The site directory is http://www.ai.mit.edu/projects/iiip/doc/cl-http/home-page.html.

The documentation is not directly available over the www. However, if you download the distribution, you will get hypertext documentation on your own machine.

[other references]