ALU
History
Board / Minutes
Sponsors
Membership
Contact Us
Conferences
ILC 2007
ILC 2005
ILC 2003
ILC 2002
LUGMs
more...
Resources
ALU Wiki
Mailing Lists
Lisp Resources
Related Organizations
Research Organizations
|
"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.
- 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.
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.
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
- 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.
- 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.
|