"If I had a hammer..." Good quality, portable, free source code is available to help you...
The tools listed here are
supposed to be stable and complete, though the authors may still be
actively developing them. Research in progress is described elsewhere, as are commercial systems.
for writing code,
for examing program state,
- Profiling, for
collecting performance data and benchmarking.
Computer Aided Software Engineering, source code display, help
facilities, and other programming environment tools.
with Graphics, Windows and the World-Wide-Web:
existing utilities for
such as completion, pattern matching and searching, node tracing, and
data type manipulations.
Management, such as autoloading, memoization, etc.
- Object Oriented
Programming, Inference Engines and Agents,
things which are in Common Lisp but not in all Lisp implementations.
- and there are Collections,
Archives and Repositories
FAQ provides another listing (which should be merged into this
There is also a collection
of notes about various kinds of computations in Lisp at the CMU
Common Lisp Repository
Editors: for writing programs.
Debuggers: for examining
- Emacs (or one of its many look-alikes) is the editor favored by most
Lisp programmers. Emacs is written in elisp.
It is available by here and
from many site mirrors. Emacs is produced by the Free Software
- Hemlock is a kind of Emacs written in Common Lisp. It is available
in the extra
file of the CMU
- ILisp provides very tight
integration between Emacs and almost any other Common Lisp, including
the ability to run a Common Lisp from within an editor buffer.
provides the ability to run a Common Lisp from within an editor buffer.
- Emacs info (hypertext documentation system) files for GCL.
creates a tagfile from Lisp source for use with
for collecting performance data.
are a convenient debugging status indicator.
is a portable code single-stepper and debugger from U. Waikato, New
Computer Aided Software Engineering, source code display, help facilities,
and other programming environment tools.
- Dick Water's coverage
analysis code can be used to determine which conditional paths of a
program are exercised by a given test suite.
- The regression
tester provides a set of tools for defining and running a test
is a WWW server from the MIT AI lab.
is a SGML output formatting tool.
- The CLIM
library at CMU, and Free-CLIM home both give Common Lisp
Interface Manager code and documentation.
GINA, and IB: Common Lisp Motif, Generic INteractive Application,
and Interface Builder.
and CLIO: Common Lisp User-Interface Environment and Common Lisp
Windows: Information about Allegro Common Windows
One of the biggest and best GUIs for Lisp. is a UI toolkit. It is not
under active development anymore. A repository
is also at CMU.
A GUI that doesn't use CLX.
Information about Lispworks Toolkit
Simple demo of synchronous communication between Lisp and Tcl/Tk
X User Interface Toolkit
- XPCE is an
object-oriented X window interface for symbolic languages such as Lisp,
from the University of Amsterdam.
Simple X windows for text output from Lisp
Network oriented window toolkit for Common Lisp.
Graphics/Image Processing Packages
Graphical User Interface Development System
- Some of the GUI Toolkits listed above include
interactive GUI builders as well.
- Quail is
a quantitative programming environment with an extensive graphics
- The CMU repository has simple
graphers that run in most of the GUIs.
- SK8 is a
mature authoring environment from Apple, that runs in MCL.
is a mock-up of Mathematica -- an algebraic processing system.
- Quail is
a quantitative programming environment from the University of Waterloo.
- CMU's math
library has code for various mathematical functions.
of partial strings against a dictionary.
matching code, unifiers, regular expression matchers.
unifies the interface to various table-like data structures.
including Binary Search Trees, Priority Queues, and Red-Black Trees.
Object Oriented Programming (CLOS)
Repository at CMU.
Copying CLOS/PCL objects.
- OMG IDL Lisp
Language Mapping: Information on the CORBA IDL mapping for Common Lisp.
Xerox PARC's CORBA-like Inter-Language Unification.
Code for creating or using databases.
(Lisp-based Intelligent Software Agents)
is a production rule system for Common Lisp.
Its purpose is to provide extensive
support for the development of intelligent
applications. LISA employs a CLOS implementation
of Rete and is based on CLIPS and JESS.
adds nondeterministic programming to Common Lisp. An entire tool
repository for Screamer is available maintained by Jonathan Kaye.
Screamer was written by Jeffrey Mark
is an ontology editor from Stanford. The source code is apparently no
longer available, but the editor can be used at the above URL if you have
any ontologies that need editing.
- The Don
Theorem Prover is first-order predicate calculus inference engine
- Epilog is a
model elimination inference engine for Stanford.
inference system from Stanford.
Prosser's hybrid algorithms for the Constraint Satisfaction Problem
is an agent-oriented programming system from Stanford.
- LOOM is a knowledge representation
language implemented on top of Common Lisp. It belongs to the family of
KL-ONE-like languages and can be seen as an example of a next generation
OOP language which mixes logical and object-oriented paradigms.
- Babylon a
modular, configurable, hybrid environment for developing expert systems.
The shell is implemented and embedded in Common Lisp.
- The Birmingham
Sim_agent toolkit for exploring architectures for interacting
simulated agents. See also, Riccardo Poli's co-evolution
- Cypress is a system
developed by SRI under ARPI for defining taskable, reactive agents. At
its core are mature, powerful planning and execution technologies,
namely SIPE-2 and PRS-CL.
Williams Object Oriented Database
- Persistent Lisp
Objects (PLOB!) PLOB is a general purpose, object-oriented database
for Allegro and LispWorks Common LISP, available for Windows/NT,
Solaris, Linux and Irix. It is distributed in terms of the GPL. older
Saves ASCII representations of objects to a file.
A semi-productized, "low cost" source code licensing system for
distributed Lisp and C++ OODB and RDBMS, developed by TI.
is a C-like or ALGOL-like language that is translated into Lisp before
- The CMU repository has parsing
is a SGML output formatting tool.
- The CMU repository has code related to changing or translating
to/from Lisp syntax.
- Computer Music
Standards: Code to bring non-ANSI Lisps into
(nearer) conformance, and information about standards.
- Common Lisp Music: a sound synthesis and processing system in the
Music V family.
- Common Music Notation: a western music notation package based on
Common Lisp, CLOS, and either the Adobe Sonata font or the Finale
- Phorx, by
James A. Carlson, is a visual environment for creating and playing
interactive musical compositions in real-time.
Neuron simulation program.
An implementation of the series protocol described in CLTL2
constants, like C enum.
- f2cl is
a Fortran to Lisp Translator.
Lisp code that grovels over arbitrary Lisp code.
- The CMU repository has some I/O
of small extensions.
Some random fun programs written in Lisp, including Life and
of Implementation-Dependent Lisp Code.
library for network management.