LISP
List processing language, one of the earliest programming language to feature a garbage collector. Popular in early AI research but is also used as a scripting language in packages such as Emacs, later variants have gained functional programming features and most variants have also gotten some object-oriented features, but referring to any LISP variant as an object-oriented or a functional programming language is taking religious fervour a step too far.
The main problem LISP originally had in gaining any mainstream acceptance as a programming language was simply performance related, while LISP was perfectly acceptable for writing small programs in, large programs could only be done cost effectively after the advent of virtual memory, but that only happened in the late 60's on mainframes, in the 80's for minicomputers and workstations and in the 90's for microcomputers and by that time the LISP world had become so fragmented that it had difficulty maintaining any traction. This also lead a number of companies to release computer systems in the 1970's and 80's that were specifically designed to run LISP.
- Common Lisp (CL)
A dialect of LISP that adds functional programming, object-oriented and procedural features. It was originally was instigated by the USA's department of defence in the early 1980's as LISP variants used by contractors were starting to become so diverse that porting of code between projects was becoming difficult. The object-oriented features introduced with Common Lisp is usually referred to by its initials or CLOS, for Common Lisp Object System.
- Scheme
A version of LISP introduced in the 1970's that cuts down the language considerably but at the same time adds some functional features.
A list of OS/2 implementations of LISP
- CLISP - Open Source - Discontinued
- Eco Common Lisp - Open Source - Sort of current
- GNU Common Lisp - Open Source - Discontinued
- Kyoto Common Lisp - Open Source - Discontinued
- MIT/GNU Scheme - Open Source - Discontinued
- newLISP - Open Source - Current
- xLISP - Open Source
Libraries
- Snappy - Compression lib. - Open Source - Current.
Foreign libraries with LISP or Scheme bindings
- LibcURL - Internet URL (WWW, FTP, etc) access (LISP + Scheme) - Open Source - Current.
- Snappy - Compression lib. - Open Source - Current.
- Exuberant ctags - Creates index files out of Scheme and LISP source files - Open source - Current.
OS/2 text & programmers editors with LISP support
- Boxer - LISP syntax highlighting support built in - Commercial - Discontinued.
- jEdit - Java based - LISP and Scheme syntax highlighting built in - Current.
- Lugaru Epsilon - LISP syntax highlighting and autoindent available as a separate download. - Commercial.
LISP source code snippets, archives and collections
Small programs or routines that you can integrate into your own programs or study to learn from, but are not delivered in library form.
- CLOCC - Common Lisp Open Code Collection - Small open source applications
A list of DOS implementations of LISP
- ECoLisp - Open Source - Sort of current
- Golden Common Lisp - Commercial - Current
- Kyoto Common Lisp - Open Source - Discontinued
- PC-LISP 3.0 - Shareware
- RefLisp - Open source - Discontinued
- XLISP - Open source - Discontinued
- Fjölnir - Open source - Discontinued
DOS text & programmers editors with LISP support
- Boxer - LISP syntax highlighting support built in - Commercial - Discontinued.
A list of LISP implementations that run under WinOS/2
- Apteryx Lisp 1.04 - shareware
- Golden Common Lisp - Commercial - Current
- Goldworks - Commercial - Current
A list of LISP implementations that run under Java
- Armed Bear Common Lisp - Open Source - Current
- CLforJava - Open Source - Discontinued
- GNU Kawa Scheme
- Related languages
- Clojure - Functional language that uses LISP syntax.
A list of LISP implementations in JavaScript
- Related languages
- ClojureScript - Functional language that uses LISP syntax.
Publications
Books
English
- John R. Anderson, Albert Corbett and Brian J. Reiser: Essential Lisp - 1986 - Addison-Wesley - ISBN 0201111489
- Timothy D. Koschmann: The Common LISP Companion - 1990 - Wiley - ISBN 0471503088
- Patrick Henry Winston and Berthold K.P. Horn: Lisp (Third edition) - 1989 - Addison-Wesley - ISBN 0-201-08319-1
- An older version of the book is available for download here in PDF format.
- Guy L. Steele Jr.: Common Lisp the Language, 2nd Edition - Free download in HTML and Postscript format - 1990 - Digital Press - ISBN 1-55558-041-6
- CLOS, MOP and PCL
- Gregor Kiczales, Jim des Rivieres and Daniel G. Bobrow: The Art of the Metaobject Protocol - 1991 - MIT Press - ISBN 026261074
- Sonya E. Keene: Object-Oriented Programming in Common Lisp: A Programmer's Guide to CLOS" - 1989 - Addison-Wesley - ISBN 0-201-17589-4
- Jo A. Lawless and Molly M. Miller: Understanding CLOS: the Common Lisp Object System - 1991 - Digital Press - ISBN 013717232X
- Robert R. Kessler and Amy R. Petajan: LISP, Objects, and Symbolic Programming - 1988 - Scott, Foresman and Company - ISBN 0673397734
- Andreas Paepcke: Object-Oriented Programming: the CLOS Perspective - 1993 - MIT Press - ISBN 0-262-16136-2
German
- Ernst D. Schmitter: Praktische Einführung in LISP. - 1987 - Hofacker - ISBN 3-88963-229-7
- Peter P. Bothner und Wolf-Michael Kähler: Programmieren in LISP: Eine elementare und anwendungsorientierte Einführung - 1993 - Vieweg+Teubner Verlag - ISBN 3528053232
Articles and papers
- Henry Baker's Archive of Research Papers - Primarily Lisp related but a few unrelated papers in-between.
- CLOS, MOP and PCL
- Richard Barber: CLOS - A Perspective: The Common Lisp Object System - In PDF format
Links
- Japanese Common LISP User Group
- Association of Lisp Users - Sponsored by Allegro Lisp.
Standards
- Guy L. Steele Jr. et al.: Common Lisp the Language - 1984 - Digital Press - ISBN 093237641X
- This is a publication of the Common Lisp Reference Manual written for the DoD with some additional text and clarifications, a newer version is avaiable for download here and due to the number of errors in the original publication the Kyoto report below is considered the de facto standard.
- Kyoto Common Lisp Report - 1985
- Since the original Common Lisp proposal by the Department of Defence had a large number of errors in it, this document is commonly used as a definition of the original Common Lisp since it clears up most of the errors.
- ANSI Common Lisp - ANSI INCITS 226-1994 (X3.226-1994)