"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.
- Develop Programs:
- Editors, for writing code,
- Debuggers, for examing program state,
- Profiling, for collecting
performance data and benchmarking.
- CASE Computer Aided Software
Engineering, source code display, help facilities, and other
programming environment tools.
- Work with Graphics, Windows and
- Use existing utilities for
- Algorithms, such as
completion, pattern matching and searching, node tracing, and data
- Resource Management, such
as autoloading, memoization, etc.
- Object Oriented Programming (CLOS),
- Logic Programming, Inference
Engines and Agents,
- Standards: 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 one).
There is also a collection
of notes about various kinds of computations in Lisp at the CMU Common Lisp
Editors: for writing programs.
Debuggers: for examining program state.
Profiling Tools: for
collecting performance data.
are a convenient debugging status indicator.
is a portable code single-stepper and debugger from U. Waikato, New Zealand.
CASE Facilities: 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 suite.
- The Common Lisp HyperSpec
contains the material of the ANSI standard for Common Lisp as
web-browsable hypertext. See the Lisp
references page for more documentation links.
- The Editors tools section, above, contains
listings of documentation interfaces to the Emacs text editor.
- CMU has two
portable system definition utilties, loosely modeled on the
Symbolics System Construction Tools. Another is included with PCL.
- The Quail
quantitative programming environment has a special help facility.
for generating printable or browseable documentation from Lisp source
package for creating documentation from source code using inverse
style macros for formatting Lisp code.
entries for Common Lisp.
- The Lisp-Team home page
describes a number of business framework tools being developed in
- An Eiffel-style
Design by Contract facility for CLOS. A short
to Design by Contract.
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
Common Lisp X bindings. The CLX Programmers Reference is available in postscript
Windows: Information about Allegro Common Windows
- EW: Express 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
is an authoring environment featuring a versatile construction
paradigm to build dynamic, visual environments for a wide range of
problem domains. Developed by Dr. Alex Repenning at the University of
Colorado at Boulder.
Graphical User Interface Development System
- Some of the GUI Toolkits listed above
include interactive GUI builders as well.
is a quantitative programming environment with an extensive graphics
- OBVIUS is a
environment for digital image processing.
3D Geometry.lisp, from the Ohio State CLOS Repository.
- The CMU repsository has simple
graphers that run in most of the GUIs.
is a mature authoring environment from Apple, that runs in MCL.
Object Oriented Programming (CLOS)
- Mockmma is a
mock-up of Mathematica -- an algebraic processing system.
- Lispstat provides
- Quail is a quantitative programming environment from the University of Waterloo.
and CLASP are instrumentation and statistical analysis packages,
respectively, from U.
- CMU's math
library has code for various mathematical functions.
Logic Programming, Inference Engines and Agents
CLOS Repository at Ohio State.
CLOS Repository at CMU.
- PCL at
Ohio State. Portable Common Loops is an implementation of LOOPS that is designed to operate within
earlier, pre-ansi (CLtL1) Common Lisps which did not provide
their own Object System.
Frames at U. Hannover.
Copying CLOS/PCL objects.
OMB IDL Lisp Language Mapping: A collection of information about
efforts to provide SOM/CORBA IDL mappings for Common Lisp.
Xerox PARC's CORBA-like Inter-Language Unification.
- Corbus: a
CORBA compliant, distributed, object-oriented system from BBN, with
- OO-Browser: a
class browser for Xemacs.
Code for creating or using databases.
adds nondeterministic programming to Common Lisp. An entire tool
repository for Screamer is available maintained by Jonathan Kaye.
Screamer was written by Jeffrey
is an ontology processor from Stanford.
- 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.
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
- 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
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
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.
- CGOL is a C-like or ALGOL-like language that is translated into Lisp
- 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.
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 Petrucci
- The documentation is available online.
by James A. Carlson, is a visual environment for creating and playing interactive musical compositions in real-time.
SURF-HIPPO Neuron simulation program.
SERIES 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 utilities.
of small extensions.
Some random fun programs written in Lisp, including Life and
of Implementation-Dependent Lisp Code.
- SNMP library
for network management.