Personal tools
You are here: Home Projects LISP Common Lisp family
Document Actions

Common Lisp family

by Paul McJones last modified 2014-07-28 20:25

 

Previous: UtiLisp - Up: LISP - Next: EuLisp

 

 

Specification

  • Guy L. Steele Jr. Common Lisp Reference Manual.
    • Swiss Cheese Edition. August 1981.
    • Flat Iron Edition. February 1982. (See Orlikowski and Yates 1994.)
    • Colander Edition. July 29, 1982.
    • Laser Edition. November 16, 1982.
    • Excelsior Edition. July 15, 1983.
    • Mary Poppins Edition. November 29, 1983.
  • Guy L. Steele Jr. Common LISP: the Language. Digital Press, 1984, 465 pages.
  • Daniel G. Bobrow, Linda G. DeMichiel, Richard P. Gabriel, Sonya E. Keene, Gregor Kiczales, and David A. Moon. Common Lisp Object System Specification. Technical Document 88-002R of X3J13. Lisp and Symbolic Computation, Volume 1, Number 3-4, February, 1989.
  • Guy L. Steele, Jr. Common Lisp: the Language, Second Edition. Digital Press, 1990, 1029 pages. Online at www.cs.cmu.edu
  • Kent M. Pitman et al. Information Technology - Programming Language - Common Lisp (formerly ANSI X3.226-1994 (R1999)).
  • Kent Pitman. Common Lisp HyperSpec, version 7.0. LispWorks Ltd., 2005. Online at www.lispworks.com

Papers

  • Larry Masinter and Bill vanMelle. Report on Common Lisp to the Interlisp Community. Email message, circa December 1981, 8 pages. Computer History Museum: gift of Larry Masinter, Lot X6058.2011. PDF

    "In a fit of optimism that usually does not characterize him, Gabriel approached the Xerox Interlisp group, and received a warmer welcome than he did in Berkeley, but he left with only an indication that someone, probably Bill VanMelle, would attend the meetings, mostly as an observer." [Steele and Gabriel 1993]

  • Arun Welch. CL History. Posting to comp.lang.lisp, October 20, 1994, Message-ID <WELCH.94Oct20153410@thor.oar.net>. Online at groups-beta.google.com Online at CMU AI Repository

    A collection of email from key Common Lisp contributors spanning 1981 to 1984; also mentions ELISP.

  • Guy L. Steele, Jr. An overview of COMMON LISP. Proceedings of the 1982 ACM symposium on LISP and functional programming, Pittsburgh, Pennsylvaniam, August, 1982, pages 98-107. ACM DL
  • Herbert Stoyan. Common LISP - a Survey and a Critique. Rundbrief der Fachgruppe Kűnstliche Intelligenz in der Gesellschaft fűr Informatik. Number 28, November 1982, pages 11-20. PDF at ai-conference.de
  • Richard P. Gabriel and Larry M. Masinter. Performance of Lisp systems. Proceedings of the 1982 ACM symposium on LISP and functional programming, Pittsburgh, Pennsylvania, pages 123-142. ACM DL
  • Rodney A. Brooks and Richard P. Gabriel. A critique of Common LISP. Proceedings of the 1984 ACM Symposium on LISP and functional programming, Austin, Texas, pages 1-8. ACM DL
  • Richard P. Gabriel. Performance and Evaluation of Lisp Systems. The MIT Press, Cambridge, Massachusetts, 1985. PDF at www.dreamsongs.com The MIT Press
  • Jon L White. Reconfigurable, retargetable bignums: a case study in efficient, portable Lisp system building. Proceedings of the 1986 ACM conference on LISP and functional programming, Cambridge, Massachusetts, pages 174-191. ACM DL
  • S.E. Fahlman. Common Lisp. Annual Review of Computer Science, Volume 2, June 1987, pages 1-19. Online at annualreviews.org
  • Linda G. DeMichiel and Richard P. Gabriel. The Common Lisp Object System: An Overview. Proceedings ECOOP 1987, June 1987, Lecture Notes in Computer Science, Volume 276, Springer, pages 151-170. SpringerLink Online at www.ecoop.org Online at dreamsongs.org
  • C. Queinnec and J. Chailloux, editors. Proceedings of the First International Workshop on Lisp Evolution and Standardization. February 22-23, 1988, Paris, France. Published by IOS, Amsterdam, 1988.
  • Takayasu Ito and Taiichi Yuasa. Some Non-standard Issues on Lisp Standardization. Proceedings of the First International Workshop on LISP Evolution and Standardization, February 22-23, 1988, Paris France, Published by IOS, Amsterdam, 1988, pages 11-20. PDF
  • Larry Masinter. Common LISP Cleanup. Proceedings of the First International Workshop on LISP Evolution and Standardization, February 22-23, 1988, Paris France, Published by IOS, Amsterdam, 1988, pages 21-24. Computer History Museum: gift of Larry Masinter, Lot X6058.2011. PDF of preprint
  • Kent M. Pitman. Interactions in Lisp. Proceedings of the First International Workshop on Lisp Evolution and Standardization, February 22-23, 1988, pages 45-49. Online at www.nhplace.com
  • Linda G. DeMichiel. Overview: The Common Lisp Object System. Lisp and Symbolic Computation, Volume 1, Number 3-4, February, 1989, pages 227-244. DOI Online at dreamsongs.com
  • Richard P. Gabriel, Jon L. White, and Daniel G. Bobrow. CLOS: Integrating Object-Oriented and Functional Programming. Commun. ACM, Volume 34, Number 9, 1991, pages 28-38. ACM DL Online at dreamsongs.com
  • Henry G. Baker. Critique of DIN Kernel Lisp Definition Version. Lisp & Symbolic Computation, Volume 4, Number 4, March 1992, pages 371-398. Online at www.pipeline.com

    "The last ten years have seen both a boom and and bust for the Lisp language. From its inception in 1958 until its commercialization in 1980, Lisp was content to live a life of academic obscurity, servicing the needs of Artificial Intelligence, theorem proving and symbolic algebra researchers. In this role, Lisp could explore many new ideas and quickly absorb new ideas from the programming language 'mainstream'. However, when AI became a business, Lisp was drawn to the money like a moth to the flame. Lisp quickly sought to become 'industrial strength', and ANSI Common Lisp was the result. Unfortunately, 'industrial' quickly became 'rust belt', as the newly standardized Common Lisp could not quickly grow and adapt to the new, more "open" environment.

    In Lisp's quest for industrial respect, it abandoned its traditional customers. Symbolic algebra developers (e.g., Maple, Mathematica) forsook Lisp for the more portable and efficient C. Logicians gave up Lisp for Prolog and ML. Vision researchers, seeking the highest performance from parallel computers, dropped Lisp in favor of C, Fortran (!) and various fringe parallel languages. AI companies were forced to move their expert systems into C, C++, Ada and Cobol (!) because of the large size, poor performance and poor integration of Common Lisp systems. Academicians teaching undergraduates chose Scheme and ML for their small size, portability and clean semantics."

  • Working files for the X3J13 Ansi Common Lisp committee, May 13, 1994. Online at ftp.parc.xerox.com

    From README:

    • dpANS1: The working draft that became the first draft proposed American National Standard. This document is no longer current, and is kept around for historical purposes only.
    • dpANS2: The second draft proposed American National Standard. See the file Reviewer-Notes.text for further information.
    • dpANS3: An X3J13 internal document. A letter ballot is presently being taken to see if this will become the third draft proposed American National Standard. Until the results of the letter ballot are tallied, this document has no offical standard as a dpANS. This document contains only editorial changes since dpANS2. See the files Reviewer-Notes.text, Change-Summary.text, and Change-Log.text for details.
    • cleanup: status, reports, and proposals from some of the older X3J13 meetings. (For historical purposes only. Most information is several years out of date. This is not an authoritative source of information.)
  • JoAnne Yates and Wanda J. Orlikowski. Knee-jerk Anti-LOOPism and other E-mail Phenomena: Oral, Written, and Electronic Patterns in Computer-Mediated Communication. MIT Sloan School Working Paper #3578-93 Center for Coordination Science Techincal Report #150, July 1993. Online at ccs.mit.edu
  • Wanda J. Orlikowski and JoAnne Yates. Genre Repertoire: Norms and Forms for Work and Interaction. MIT Sloan School Working Paper #3671-94, Center for Coordination Science Technical Report #166, March 1994. Online at ccs.mit.edu

    "Most of the work [designing Common Lisp] was carried out by E-mail discussion. These dicussions were captured in file archives. One research at the Sloan School at MIT has used these archives to study computer-mail-based decision-making and interaction. [Steele and Gabriel 1993]

  • John C. Mallery, Howard E. Shrobe, Robert Laddaga, Thomas F. Knight, Kalman Reti, Paul Robertson, Andrew J. Blumberg, Susan Felshin, and Patrick H. Winston. Modernizing Common Lisp: Recommended Extensions. Email to x3j13@ai.sri.com. Artificial Intelligence Laboratory, Massachusetts Institute of Technology, July 7, 1999. Online at lists.tunes.org
  • Masayuki Ida. The History of Lisp Standardization during 1984 – 1990. Proceedings of the 2002 International Lisp Conference, San Francisco, California, October 2002. PDF

    "CLtL1 was the output of a hastily united group of MacLisp successors, who felt InterLisp group was stronger than they were. They did not dream of international matters or even of commercial interests. Most of them thought it is just a US academic research matter: most of them did not know how to make international standards, or even American national standards."

  • Kent M. Pitman. Common Lisp: the untold story. Talk at Lisp50@OOPSLA, the 50th Anniversary of Lisp workshop, Monday, October 20, 2008.

Implementations - open source

BBN Butterfly Common Lisp

CMU Common Lisp (CMUCL)

"CMUCL was developed at the Computer Science Department of Carnegie Mellon University. The work was a small autonomous part within the Mach microkernel-based operating system project, and started more as a tool development effort than a research project. The project started out as Spice Lisp, which provided a modern Lisp implementation for use in the CMU community. CMUCL has been under continual development since the early 1980's (concurrent with the Common Lisp standardization effort). Most of the CMU Common Lisp implementors went on to work on the Gwydion environment for Dylan. The CMU team was lead by Scott E. Fahlman, the Python compiler was written by Robert MacLachlan." [CMUCL credits]

GNU CLISP

"CLISP is a Common Lisp implementation by Bruno Haible, then of Karlsruhe University, and Michael Stoll, then of Munich University, both in Germany. It supports the Lisp described in the ANSI Common Lisp standard plus many extensions.

CMUCL's CLOS implementation is derived from the PCL reference implementation written at Xerox PARC. Its implementation of the LOOP macro was derived from code from Symbolics, which was derived from code written at MIT. The CLX code is copyrighted by Texas Instruments Incorporated. " [CLISP Common Lisp Summary]

Kyoto Common Lisp (KCL)

"A new player from Japan – Kyoto Common Lisp (KCL) – provided a bit of a spoiler: KCL has a compiler that compiles to C, which is compiled by the C compiler. This Lisp was licensed essentially for free, and the Common Lisp companies suddenly had a suprising competitor." [Steele and Gabriel 1993]

"Kyoto Common Lisp (KCL) is a highly portable and implementation of Common Lisp originally developed at Kyoto University in Japan. KCL conforms to CLtL1."

  • Sources: free but requires a license. Online at CMU Artificial Intelligence Repository
  • Taiichi Yuasa and Masami Hagiya. Kyoto Common Lisp Report. Research Institute for Mathematics Sciences, Kyoto University, August 1985, 87 pages. PDF PostScript
  • T. Yuasa. Design and Implementation of Kyoto Common Lisp. Journal of Information Processing, Volume 13, Number 3, 1990, pages 284-295. PDF PostScript

Austin Kyoto Common Lisp (AKCL)

"Austin Kyoto Common Lisp (AKCL) is a collection of ports, bug fixes and improvements to KCL written by Bill Schelter. {A}KCL generates C code which it compiles with the local C compiler."

"To build AKCL, one must also have in place the sources for KCL. At the time one builds AKCL, one automatically merges AKCL changes with the KCL sources, which are left unmodified, in accordance with the KCL license."

GNU Common Lisp (GCL)

"GCL is the product of many hands over many years. The original effort was known as the Kyoto Common Lisp system, written by Taiichi Yuasa and Masami Hagiya in 1984. In 1987 new work was begun by William Schelter, and that version of the system was called AKCL (Austin Kyoto Common Lisp). In 1994 AKCL was released as GCL (GNU Common Lisp) under the GNU public library license. The primary purpose of GCL during that phase of its existence was to support the Maxima computer algebra system, also maintained by Dr. Schelter. It existed largely as a subproject of Maxima.

After the passing of Dr. Schelter in 2001, it was decided that GCL should be actively maintained and improved. GCL is currently maintained by a team of 12 developers across the world coordinated via the gcl-devel mailing list." [GCL History]

Rutgers Common Lisp for TOPS-20 on DECSYSTEM-20

Charles L. Hedrick and J. Storrs (Josh) Hall developed a Common Lisp for the DECSYSTEM-20 running TOPS-20 at Rutgers University during 1983-1985. This system was based on Carnegie-Mellon's Spice Lisp, but used an assembly language kernel whose "interior design is sort of a cross between the Spice machine and Elisp, the Rutgers extended-addressing version of UCI Lisp" [Hedrick 1985]. The Spice system code, which is the portion of the runtime written in Lisp, was used with only minor modifications to deal with representation dependencies. The Spice compiler was modified to generate code for the DECSYSTEM-20.

The version of the kernel and Lisp code exhibited here contains bug fixes and improvements by Björn Victor, Per-Erik Martin and others at Uppsala University, Sweden, and also by Peter Samson at Systems Concepts, San Francisco, California.

The Flavors code was adapted for Common Lisp from Spice Lisp Flavors by Torbjörn Åhs and Björn Victor at Uppsala University. Spice Lisp Flavors was adapted by Steven Handerson from Symbolics Flavors. Symbolics Flavors was designed by Howard Cannon and David Moon. [Cannon 1979] [Weinreb and Moon 1980] [Moon and Weinreb 1985] [Moon 1986]

Source code
  • Charles L. Hedrick and J. Storrs (Josh) Hall. Common Lisp for TOPS-20 on DECSYSTEMS-20. Rutgers University, 1983-1985. Modifications and additions by Björn Victor and others at Uppsala University, Sweden, 1985-1997. Distributed by permission of Charles L. Hedrick, July 28, 2005.
Documentation
  • Charles L. Hedrick. Tops-20 Common Lisp Red Pages. Rutgers University
    • Swiss Cheese Edition (very drafty), 1983, 23 pages. PDF
    • 1985, 26 pages. PDF
  • Daniel Weinreb and David Moon. Flavors: Message Passing in the Lisp Machine. A.I. Memo No. 602, Artificial Intelligence Laboratory, Massachusetts Institute of Technology, November 1980. PDF at MIT
  • David Moon and Daniel Weinreb. Introduction to Flavors. 1985. PDF

    "This document is adapted from text written primarily by David Moon and Daniel Weinreb which appeared in the Lisp Machine Manual, fourth edition, chapter 20, copyrighted by the Massachusetts Institute of Technology."

  • Steven Handerson and Jim Muller. Spice Lisp Flavors. Spice Lisp Project, 1985. PDF
  • Skef Wholey, Scott E. Fahlman and Joseph Ginder. Revised Internal Design of Spice Lisp. DRAFT, Spice Document S026 [Revised], undated. PDF

    Stoyan includes a document with these authors and title as Spice Document S226, 1983.

Papers
  • Howard I. Cannon. Flavors - A Non-Hierarchical Approach to Object-Oriented Programming. Unpublished draft, Artificial Intelligence Laboratory, 1979 (revised 2007). Posted by permission of the author. PDF
  • David Moon. Object-oriented programming with flavors. Conference proceedings on Object-oriented programming systems, languages and applications, Portland, Oregon, 1986, pages 1-8. ACM DL

Steel Bank Common Lisp (SBCL)

Forked from CMUCL in 1999.

Implementations - commercial

  • Allegro CL. Franz Inc. http://franz.com/about/company.history.lhtml http://www.franz.com/products/
  • Control Data Corporation Common Lisp.

    "Following CDC ALISP lineage for a moment, ALISP [at University of Massachusetts Amherst] was eventually replaced with work on a native Common Lisp that was headed by Richard Hudson." [Dan Corkill, personal communication, September 4, 2010]

    "The Lisp/VE team was led by Richard L. Hudson and consisted of David M. Hart, Susan E. Lander, Andy Podgurski, Mali Anand, and Joanne Pommers. the compiler and runtime was written by the Lisp/VE team primarily in Lisp and a language called Cybil (Cyber Implementation Language). It leveraged a lot of the CMU Spice Lisp code to implement many of the Common Lisp functions and libraries. It faithfully implements the Common Lisp dialect and was available commercially as part of CDC's Cyber 180, the last machine CDC built." [Richard L. Hudson, personal communication, September 10, 2012]

    "I think it was also the first full implementation of Pitman's condition system (I recall Susan exchanging a lot of question/clarification emails with Kent during that time.)" [Dan Corkill, personal communication, September 10, 2012]

    • Anonymous [Richard L. Hudson]. LISP for NOS/VE Language Definition: Usage Supplement. Publication Number 60486213, Control Data Corporation, Preliminary version, March 1985. Computer History Museum, Herbert Stoyan Collection on LISP Programming, Accession number 102720188. PDF
    • Anonymous [Richard L. Hudson]. LISP for NOS/VE Language Definition: Usage Supplement. Publication Number 60486213, Control Data Corporation, Revision B, December 1989. Gift of Richard L. Hudson. PDF
  • Corman Common Lisp. http://www.cormanlisp.com/index.html
  • GCLISP. Gold Hill. http://www.goldhill-inc.com/
  • Lucid Common Lisp (now Liquid Common Lisp)
  • See also: http://linuxfinances.info/info/commonlisp.html

Documentation

  • Anonymous. Lisp Reference. TI Part Number 2243201-0001, Texas Instruments Explorer. PDF at bitsavers.org

Applications

Computer algebra

  • Axiom. Online at axiom-developer.org

    "Axiom has been in development since 1971. At that time, it was called Scratchpad. Scratchpad was a large, general purpose computer algebra system that was originally developed by IBM under the direction of Richard Jenks. The project started in 1971 and evolved slowly. Barry Trager was key to the technical direction of the project. Scratchpad developed over a 20 year stretch and was basically considered as a research platform for developing new ideas in computational mathematics. In the 1990s, as IBM's fortunes slid, the Scratchpad project was renamed to Axiom, sold to the Numerical Algorithms Group (NAG) in England and became a commercial system. As part of the Scratchpad project at IBM in Yorktown Tim Daly worked on all aspects of the system and eventually helped transfer the product to NAG. For a variety of reasons it never became a financial success and NAG withdrew it from the market in October, 2001.

    NAG agreed to release Axiom as free software. The basic motivation was that Axiom represents something different from other programs in a lot of ways. Primarily because of its foundation in mathematics the Axiom system will potentially be useful 30 years from now. In its current state it represents about 30 years and 300 man-years of research work. To strive to keep such a large collection of knowledge alive seems a worthwhile goal."

  • Maxima. Online at maxima.soureforge.net

    "Maxima is a descendant of DOE Macsyma, which had its origins in the late 1960s at MIT. It is the only system based on that effort still publicly available and with an active user community, thanks to its open source nature. Macsyma was the first of a new breed of computer algebra systems, leading the way for programs such as Maple and Mathematica. This particular variant of Macsyma was maintained by William Schelter from 1982 until he passed away in 2001. In 1998 he obtained permission to release the source code under GPL. It was his efforts and skill which have made the survival of Maxima possible, and we are very grateful to him for volunteering his time and skill to keep the original Macsyma code alive and well. Since his passing a group of users and developers has formed to keep Maxima alive and kicking. Maxima itself is reasonably feature complete at this stage, with abilities such as symbolic integration, 3D plotting, and an ODE solver, but there is a lot of work yet to be done in terms of bug fixing, cleanup, and documentation. This is not to say there will be no new features, but there is much work to be done before that stage will be reached, and for now new features are not likely to be our focus." [About Maxima]

Theorem provers

The Boyer-Moore theorem prover pioneered the approach (also used by ACL2) of using "home-grown dialect of Pure Lisp" as a logic language, and also uses a regular Lisp as an implementation language.

  • R. S. Boyer and J Moore. Nqthm (the Boyer-Moore theorem prover).
  • Matt Kaufmann and J Strother Moore. ACL2 (Applicative Common Lisp - A Computational Logic).

 

Previous: UtiLisp - Up: LISP - Next: EuLisp
September 2013 »
Su Mo Tu We Th Fr Sa
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
 

Powered by Plone CMS, the Open Source Content Management System

This site conforms to the following standards: