cs2097-LISP CD with Interpreters/Compilers/IDEs, Libraries, and Development tools

February, 2010 Edition Copyright Arnold Kochman. Other copyrights also apply, including but not limited to the GNU General Public License.  

This CD contains a variety of development software that you can run on your PC. Programs are suitable for Windows/DOS and/or Linux/UNIX and/or other host systems. Included are a number of very useful compilers and IDE's, libraries, interface packages, and utility programs.

Common Lisp is well suited to large programming projects and exploratory programming. It has often been used to prove a concept. On the other hand, it has also often been used as an extension language for complex applications, e.g. emacs editor. The language has a dynamic semantics which distinguishes it from languages such as C and Ada. It features automatic memory management, an interactive incremental development environment, a module system, a large number of powerful data structures, a large standard library of useful functions, a sophisticated object system supporting multiple inheritance and generic functions, an exception system, user-defined types and a macro system which allows programmers to extend the language.

Most packages are distributed in the form of compressed archives, for example .zip files for Windows packages and .tgz for Linux. The buyer is expected to be prepared to expand these files with a program such as PKUNZIP or WinZip for Windows, or tar, gzip, etc for Linux, etc., and to performs an installation process.

LISP ... February 2010


INTERPRETER/COMPILER/IDE
The Free Poplog Portal - POPLOG - A multi-language software development environment providing incremental compilers for a number of interactive programming languages, including Common Lisp. It runs on Windows, Linux, Solaris, and possibly other systems. It is distributed under a variant of the MIT open-source license.
CLISP - ANSI Common Lisp is a high-level, general-purpose programming language. GNU CLISP is a Common Lisp implementation by Bruno Haible of Karlsruhe University and Michael Stoll of Munich University, both in Germany. It conforms to the ANSI Common Lisp standard, and offers many extensions. It runs on most Linux/UNIX type systems including Mac OS X, as well as 32-bit Windows systems. It is distributed under the terms of GNU General Public License. The user interface can be in English, German, French, Spanish, Dutch, Russian and Danish, and can be changed during run time. GNU CLISP includes an interpreter, a compiler, a debugger, CLOS, MOP, a foreign language interface, a socket interface, i18n, fast bignums, arbitrary precision floats and more. An X11 interface is available through CLX, Garnet, CLUE/CLIO. GNU CLISP runs Maxima, ACL2 and many other Common Lisp packages.
CMUCL - An implementation of the Common Lisp programming language which runs on most major UNIX platforms. It substantially conforms to the ANSI Common Lisp standard The package includes a sophisticated native code generator. The compiler has provision for foreign code interface and interprocess communication. There is an implementation of the Common Lisp Object System (CLOS), an X11 Window System interface along with a graphical widget library, a source level debugger, programmer-extensible input and output streams, and an emacs style editor. It is distributed under the terms of the GNU General Public License.
Steel Bank Common Lisp - SBCL - A compiler and runtime system for ANSI Common Lisp, derived from the CMU CL system. It provides an interactive environment including an integrated native compiler, a debugger, and many extensions. SBCL runs on a number of POSIX platforms, and experimentally on Windows. It is released under the MIT License, and/or as Public Domain material.
Common Lisp Application Builder - clab - A Lisp distribution, designed to include a rich set of libraries, with a view to building standard GUI applications that are easy to install and use. The package is released under the BSD License and purports to be portable to many system environments.
Jabberwocky - An integrated development environment for Lisp programs. It includes a Lisp aware editor, a source level debugger and a way to interact with Lisp processes. It is written in Java and Lisp and runs on Linux/UNIX systems as well as 32-bit Windows systems. Jabberwocky is available under the terms of the GNU General Public License.

EMBEDDABLE/MINIMAL LISP
Embeddable Common-Lisp - ECL - An interpreter of the Common-Lisp language as described in the X3J13 Ansi specification, featuring Common-Lisp Object System, conditions, loops, etc, plus a translator to C, which can produce standalone executables. The package includes a variety of useful components. ECL runs on Linux/UNIX type systems as well as 32-bit Windows systems. It is released under theGGNU Library or Lesser General Public License.
Modular Extension Lisp Language - Modell - An interpreted, modular implementation of a dialect of LISP, specially suitable for embedding in applications. It exposes a C++ API for extending/embedding and includes basic capabilities for object-oriented programming. It is written in C++ and runs on Linux/UNIX systems. The package is released under the GNU General Public License.
Lisp++ - lisp-pp - A minimal Lisp interpreter written in C++. It runs on Linux/UNIX systems and is offered under the terms of the GNU General Public License.

DIALECTS/ LISP-LIKE LANGUAGES
DotLisp - An interactive, Lisp-like language for .Net scripting and development. It has deep integration with the .Net runtime and other resource infrastructure.
Objective Caml Ultimate Lisp - ocul - a Lisp dialect implemented in OCaml(Objective Caml). It has many features, including lazy evaluation, both static and dynamic linkage, partial application of functions, tail-recursivity. It runs on Linux/UNIX systems and is released under the terms of the GNU General Public License.
X Bois de Vincennes Lisp - Xbvl - The Lisp dialect used at University Paris. Its special features are: Automatic optimizations of Lisp code; a facility to augment Lisp functions, instructions and variables. The package is written in C and Lisp and runs on Linux/UNIX systems using X Window for user interface. It is offered under the GNU General Public License.

LIBRARIES
Jatha - A Java library that implements a large subset of Common LISP, including most of the datatypes (e.g. packages, bignums). The API allows access to LISP from Java. Jatha is useful as a fast, embedded LISP language, or as a standalone LISP. Additional LISP primitives can be written in Java and registered at runtime to be used in the LISP interpreter. The LISP engine compiles the input forms to an abstract machine code specified in Kogge's book "The Architecture of Symbolic Machines". Jathra should run on any system that adequately supports Java. It is released under the GNU Library or Lesser General Public License.
A CGI library for Common Lisp - lisp-cgi-utils - A software package for developing CGI scripts with Common Lisp. It implements a very basic HTTP/CGI interface: sending headers; GET/POST and environment variables; and tools for particular support for handling HTML forms. It also supports HTTP cookies for managing state across requests. This software is licensed unter the GNU Library or Lesser General Public License 2.1.
Common Lisp JPEG Library - cljl - A package that implements baseline JPEG image compression/decompression routines in ANSI Common Lisp. It is made available under the terms of the BSD License.

INTERFACE TO NON-LISP ENVRONMENTS
foil - Foreign Object Interface for Lisp - A protocol and code to interface between Lisp and instances of runtimes such as the JVM and CLR, offering comprehensive, safe, dynamic, efficient, and portable access to Java and CLI libraries from Lisp, with an emphasis on working in Lisp. The package is in C#, Common Lisp, Java, Lisp. Though it is most oriented to Windows platforms, it purports to be portable. It is Copyright (c) Rich Hickey and Eric Thorsen; all rights are reserved, but it is made available under the Common Public License 1.0.
Common Lisp bindings to GTK+ - clg - An interface to the GTK+ graphical toolkit for the CMUCL, SBCL and CLISP implementations of Common Lisp. The package is applicable to Linux/UNIX systems and is released under the terms of the GNU Library or Lesser General Public License and the MIT License.


UTILITIES/TOOLKITS/MISC
Garnet - A Graphical Toolkit for Lisp, which offers many advanced features. Garnet stands for Generating an Amalgam of Real-time, Novel Editors and Toolkits. It was originally developed by the User Interface Software Group in the Human Computer Interaction Institute in the School of Computer Science at Carnegie Mellon University in the early to mid 1990s. It is an environment for creating interfaces to Common Lisp software. Garnet was designed for CLISP, but has proven to work with many LISP implementations. However, speed Performance may be a significant issue, depending also on the hardware. The package is oriented to Linux/UNIX systems with X Window, but is portable. It is in the Public Domain.
Common Lisp Utilities - CLU - A repository for Common Lisp packages that run on any compliant implementation of ANSI Common Lisp. The Common Lisp Utilities are available under the BSD License.


Please understand that I cannot give assurances about the suitability of any package for a particular purpose.