|
|
"If I had a hammer..."
Good quality, portable, free source code is available to help you...
- Develop Programs:
- Editors, for writing code,
- Debuggers, for examing program state,
- Profiling, for collecting
performance data and benchmarking.
- Testing,
- CASE Computer Aided Software
Engineering, source code display, help facilities, and other
programming environment tools.
- Work with Graphics, Windows and
the World-Wide-Web:
- Use existing utilities for
- Mathematics,
- Algorithms, such as
completion, pattern matching and searching, node tracing, and data
type manipulations.
- Resource Management, such
as autoloading, memoization, etc.
- Object Oriented Programming (CLOS),
- Logic Programming, Inference
Engines and Agents,
- Databases,
- Syntax,
- Music
- Standards: things which are in
Common Lisp but not in all Lisp implementations.
- Others.
- and there are Collections,
Archives and Repositories
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
Editors: for writing programs.
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.
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.
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.
|