[ALU Logo]

Common Lisp Tools

"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.

The Lisp 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 Repository


Programming Tools

Editors: for writing programs.
  • 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 Foundation.
  • Hemlock is a kind of Emacs written in Common Lisp. It is available in the extra file of the CMU CL distribution.
  • 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.
  • cl-shell provides the ability to run a Common Lisp from within an editor buffer.
  • Emacs info (hypertext documentation system) files for GCL.
  • Tags creates a tagfile from Lisp source for use with vi.
Debuggers: for examining program state.
  • Alerts are a convenient debugging status indicator.
  • Step is a portable code single-stepper and debugger from U. Waikato, New Zealand.
Profiling Tools: for collecting performance data. Testing Utilities:
  • 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.
CASE Facilities: Computer Aided Software Engineering, source code display, help facilities, and other programming environment tools.

Graphics/Windows/Web

WWW Toolkits
  • CL-HTTP is a WWW server from the MIT AI lab.
  • SGML2Lisp is a SGML output formatting tool.
GUI Toolkits
  • The CLIM library at CMU, and Free-CLIM home both give Common Lisp Interface Manager code and documentation.
  • CLM, GINA, and IB: Common Lisp Motif, Generic INteractive Application, and Interface Builder.
  • CLUE and CLIO: Common Lisp User-Interface Environment and Common Lisp Interactive Objects.
  • Common Windows: Information about Allegro Common Windows
  • EW: Express Windows
  • GARNET: 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.
  • LispView: A GUI that doesn't use CLX.
  • Lispworks Information about Lispworks Toolkit
  • Lisp2wish: Simple demo of synchronous communication between Lisp and Tcl/Tk
  • Winterp: Widget INTERPreter
  • XIT: X User Interface Toolkit
  • XPCE is an object-oriented X window interface for symbolic languages such as Lisp, from the University of Amsterdam.
  • XWIN: Simple X windows for text output from Lisp
  • YY: Network oriented window toolkit for Common Lisp.
GUI Builders
  • Picasso: Graphical User Interface Development System
  • Some of the GUI Toolkits listed above include interactive GUI builders as well.
Graphics/Image Processing Packages
  • Quail is a quantitative programming environment with an extensive graphics package.
  • The CMU repository has simple graphers that run in most of the GUIs.
Multimedia
  • SK8 is a mature authoring environment from Apple, that runs in MCL.

Libraries

Mathematics
  • Mockmma 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.
Algorithms
  • Completion of partial strings against a dictionary.
  • Pattern matching code, unifiers, regular expression matchers.
  • Searching code.
  • Tables unifies the interface to various table-like data structures.
  • Trees, including Binary Search Trees, Priority Queues, and Red-Black Trees.
  • Type simplifier. Object Oriented Programming (CLOS)
    • CLOS Repository at CMU.
    • Copy-Objects: Copying CLOS/PCL objects.
    • OMG IDL Lisp Language Mapping: Information on the CORBA IDL mapping for Common Lisp.
    • ILU: Xerox PARC's CORBA-like Inter-Language Unification.
      • LISA (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.
      • Screamer adds nondeterministic programming to Common Lisp. An entire tool repository for Screamer is available maintained by Jonathan Kaye. Screamer was written by Jeffrey Mark Siskind.
      • Ontolingua 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 from Stanford.
      • Epilog is a model elimination inference engine for Stanford.
      • Prologic inference system from Stanford.
      • CLOS Frames.
      • CSP: Prosser's hybrid algorithms for the Constraint Satisfaction Problem
      • Magenta 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 experiment.
      • 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.
      Databases: Code for creating or using databases.
      • Database programs.
      • WOOD: 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 link
      • SAVE-OBJ: Saves ASCII representations of objects to a file.
      • OODB: A semi-productized, "low cost" source code licensing system for distributed Lisp and C++ OODB and RDBMS, developed by TI.
      Syntax
      • CGOL is a C-like or ALGOL-like language that is translated into Lisp before execution.
      • The CMU repository has parsing code.
      • SGML2Lisp is a SGML output formatting tool.
      • The CMU repository has code related to changing or translating to/from Lisp syntax.
      Music