| 
 | 
 | 
  | 
  
 Ports: software which runs in CMUCL
    |  
 
 This page contains an (incomplete) list of freely redistributable
    software which is known to run in CMUCL (to know what platforms CMUCL
    runs on, see the platforms page).  
    
Networking 
-  Araneida is a small
     extensible web server written in Common Lisp with
     CMUCL extensions, under a BSD-sans-advertising licence. It hooks into
     the CMUCL event loop rather than using multithreading, and is designed
     to run behind a caching proxy such as Apache's
     mod_proxy. 
 
-  
     CL-HTTPD is an advanced web server implemented in Common Lisp.
     There is a  CMUCL
     port. The licence is unfortunately very restrictive. 
 
-  CLORB is a CORBA ORB for Common Lisp. It is still
     under development, but the client-side functionality works with CMUCL
     (server-side is currently limited to single-threaded polling). 
 
-  The CLiki is a  wiki-like
     system allowing collaborative web authoring, developed in CL. 
 
 
Graphics
-  CLX is an implementation of the client side of the
     X11 protocol in Common Lisp (ie it plays the role of libX11 for C
     programs). The CMUCL version incorporates patches for X authorization
     which are not included in the official release. 
 
-  McCLIM is a rapidly improving
     free implementation of the CLIM specification. This library allows
     rapid development of powerful inspector-type user interfaces. 
 
-  Garnet is a
     sophisticated widget set developed at the User
     Interface Software Group at Carnegie Mellon University. Garnet aims to
     facilitate the construction of interactive graphical user interfaces.
     It includes an implementation of a prototype-instance object model, a
     portable graphics layer for X11 and MacOS, automatic constraint
     maintenance, and interactive design tools. The version distributed
     by Fred Gilham incorporates a few patches for 8bit displays and
     various bugfixes. Plot-2d is a
     plotting gadget for Garnet, that makes it easy to visualize
     two-dimensional data. 
 
-  CLM is a Motif® subsystem for CMUCL. It can
     be compiled with the freely available LessTif implementation. CLM is used in
     the graphical interface to the CMUCL debugger and inspector. 
 
-  There are two CMUCL bindings to the GTk+ widget set. Espen Johnsen's clg binds
     directly to the GTk event loop via the CMUCL FFI (GNU LGPL). 
     Gilbert Baumann's (older) binding uses a client-server model to avoid
     problems with mixing two event loops.  
 
-  GLOS is an
     OpenGL subset developed in Common Lisp. It features Gourad shading,
     Phong lighting, Zbuffer/clipping, near and far. 
 
     
-  
     CLUE (Common Lisp User-Interface Environment) is an extension of
     CLX which provides a simple, object-based toolkit (similar to Xt),
     using CLOS. It provides simple object-oriented classes and stream I/O
     facilites. There is a 
     CMUCL port. CLIO is a set of widgets built on top of CLUE, and
     Pictures is a CLOS-based interface to CLIO. 
 
-  PGPLOT-CL is an 
     CMUCL interface to the PGPLOT 2-d scientific plotting library. 
 
-  The PSGrapher
     renders a directed acyclic graph to Postscript. It consists of a set
     of Lisp routines which uses the same algorithm as the ISI Grapher. The
     fonts and box drawing style are user-definable. 
     
 
Mathematics
-  The series package
     (described in Appendix A of 
     Common Lisp: the Language, 2nd edition) is a set of macros which
     allow the programmer to program in a functional style (using
     compositions of functions operating on series or vectors or streams of
     data elements), without incurring the efficiency costs typically
     associated with such a programming style. The macros generate
     iterative loops. 
 
-  There is an improved version of f2cl, a Fortran to Common Lisp
     compiler, in CLOCC. 
 
      
-  MatLisp is a matrix
     package for Common Lisp. It consists of CLOS bindings to the BLAS and
     LAPACK linear algebra packages. 
 
-  Maxima is a
     computer algebra system implemented in Common Lisp. It is a derivative
     of the Macsyma system, which is released under the GNU GPL. Maxima is
     primarily intended to be used with the GCL Common Lisp implementation,
     but recent releases also work with CMUCL. 
 
         
-  ACL2 is a
     semi-automatic theorem prover embedded in an applicative dialect of
     Common Lisp (it is the successor of Nqthm). The system can also be
     used as a specification language and a computation logic. 
 
 
Misc
-  UncommonSQL is
     a CommonSQL-like binding to the PostgreSQL, MySQL and Oracle DBMSes. It provides a
     functional SQL syntax and an object-to-relational mapping based on
     CLOS. CommonSQL is based on MaiSQL. 
 
-  CL-XML implements data stream
     parsing and serialization for the XML, XML Query and XPath standards.
     The XML processor includes a conformant, validating, namespace-aware
     model-based parser. It supports, in particular, namespace-aware
     DTD-based validation. The XPATH module comprises LISP bindings for the
     XML Path library, an S-expression-based namespace-aware path model,
     and a macro-based path model compiler which implements an
     XPATH-algebra. The XQUERY module comprises LISP bindings for the XML
     Query library, an S-expression-based query model which incorporates
     the XPATH facilities, and a macro-based query compiler. The base CLOS
     model implements the XML Query Data Model in a class hierarchy which
     presents an Infoset compatible programming interface. CL-XML runs with
     CVS versions of CMUCL as of around 2003-08. 
 -  A port of the XML parser from Franz
     Inc is available from ports/xmlutils.
     The port does not support Unicode, since CMUCL has no support for
     extended character sets. 
 
-  Common Lisp
      Music is a music synthesis and signal processing package in the
      Music V family. 
 
-  
     LispDebug is a source-level debugger, profiler and stepper which
     works with CMUCL (which operates by instrumenting the source code,
     rather than using the native CMUCL debugger/profiler). 
 
-  CLOCC includes
     mk-defsystem, an implementation of the Common Lisp
     DEFSYSTEM utility (which occupies a similar position to
     make in C/Unix projects). 
 
-  LISA is a production-rule
     system for building intelligent software agent systems in Common Lisp.
     It is influenced by the Java Expert System Shell. 
 
-  OPS5 is
     a programming language for production systems (using goal-based
     techniques from artificial intelligence). In the public domain. 
 
-  feebs
     is a simulation game somewhat similar to CoreWars. Players
     supply programs which control their creature as they move around the
     maze trying to zap one another. 
 
     
-  
     Surf-Hippo is a simulation package which allows interactive
     graphical exploration of models of biological neurons and networks.
     Surf-Hippo runs in CMUCL with Garnet. 
 
 
 If you successfully use a package in CMUCL, or produce patches adding
    CMUCL support, please let us know by sending an email to the webmasters
    (see address in footer).  
 |