Lisp Tools

up
prev next

search
site map
navigate
about
comments

<*lisp*>
<*learning*>
<*applications*>
<*TOOLS*>
<*community*>
<*references*>
<*systems*>
<*related*>

"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 ftp 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 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.
  • Erik Naggum's Emacs interface between Franz's Allegro and the Common Lisp HyperSpec.
  • 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.
  • 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.
  • LISPDocu for generating printable or browseable documentation from Lisp source code.
  • lisp-doc package for creating documentation from source code using inverse literate programming.
  • TeX style macros for formatting Lisp code.
  • VGrind/TGrind entries for Common Lisp.
  • The Lisp-Team home page describes a number of business framework tools being developed in Common Lisp.
  • An Eiffel-style Design by Contract facility for CLOS. A short introduction to Design by Contract.

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.
  • CLX: Common Lisp X bindings. The CLX Programmers Reference is available in postscript and online.
  • 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
  • Agentsheets 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.
  • 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.
  • 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.
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.
  • Lispstat provides statistical tools.
  • Quail is a quantitative programming environment from the University of Waterloo.
  • CLIP and CLASP are instrumentation and statistical analysis packages, respectively, from U. Mass.
  • CMU's math library has code for various mathematical functions.
Algorithms Resource management Object Oriented Programming (CLOS)
  • 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.
  • CLOS Frames at U. Hannover.
  • Copy: Copying CLOS/PCL objects.
  • OMB IDL Lisp Language Mapping: A collection of information about efforts to provide SOM/CORBA IDL mappings for Common Lisp.
  • ILU: Xerox PARC's CORBA-like Inter-Language Unification.
  • Corbus: a CORBA compliant, distributed, object-oriented system from BBN, with Lisp bindings.
  • OO-Browser: a class browser for Xemacs.
Logic Programming, Inference Engines and Agents
  • 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 processor from Stanford.
  • 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
  • Computer Music includes:
    • 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 font.
    • The documentation is available online.
  • Fractal Music
  • Phorx, by James A. Carlson, is a visual environment for creating and playing interactive musical compositions in real-time.
Standards: Code to bring non-ANSI Lisps into (nearer) conformance, and information about standards. Others
  • SURF-HIPPO Neuron simulation program.
  • SERIES An implementation of the series protocol described in CLTL2
  • Enumeration constants, like C enum.
  • f2cl is a Fortran to Lisp Translator.
  • Codewalking: Lisp code that grovels over arbitrary Lisp code.
  • The CMU repository has some I/O utilities.
  • Library of small extensions.
  • Fun: Some random fun programs written in Lisp, including Life and sunrise/sunset calculations.
  • Collections of Implementation-Dependent Lisp Code.
  • SNMP library for network management.

Collections

http://www.lisp.org
Copyright 1999 by the Association of Lisp Users.
Bruce Tobin, Tools Editor.