Generated by GPT-5-mini| CLISP | |
|---|---|
| Name | CLISP |
| Paradigm | Multi-paradigm: procedural, functional, reflective, object-oriented |
| Designer | Bruno Haible |
| Developer | GNU Project |
| First appeared | 1994 |
| Typing | Dynamic, strong |
| Implementations | GNU CLISP |
| Influenced by | Common Lisp |
| License | GNU General Public License |
CLISP CLISP is an implementation of the Common Lisp programming language designed to provide a portable, interactive, and scriptable runtime for development and deployment. It emphasizes conformity with the ANSI Common Lisp standard, interactive read–eval–print loops found in environments such as Emacs and XEmacs, and integration with various operating systems including Linux, FreeBSD, and Microsoft Windows. CLISP has been used in academic research at institutions such as the Université Joseph Fourier and in industrial projects alongside toolchains from GCC, LLVM, and Autotools.
CLISP traces its origins to work by Bruno Haible in the early 1990s, emerging in the context of efforts to standardize Common Lisp after the publication of the Common Lisp the Language, 2nd Edition and the later ANSI X3.226-1994 standard. Early releases targeted portability across UNIX variants and sought interoperability with systems like X Window System and editors including Emacs. Over time, the project became associated with the GNU Project, aligning with other GNU efforts such as GCC and GNU make and participating in ecosystem events like FOSDEM and GNUHackers Meetings. CLISP’s development history intersects with implementations such as CMUCL, SBCL, ECL and research platforms at MIT, Stanford University, and INRIA.
CLISP implements core features of the ANSI Common Lisp standard including the CLOS, the loop macro, condition systems paralleling work at Xerox PARC, and reader macros used in projects influenced by Paul Graham and Richard P. Gabriel. It provides an interpreter and bytecode compiler, offering a virtual machine that supports features comparable to those in Emacs Lisp environments and interactive shells used in Unix Shell scripting. The implementation integrates foreign function interfaces (FFI) permitting linkage to libraries such as glibc and runtimes used by GTK+, Qt, and OpenSSL for networking and GUI tasks. CLISP includes a debugger and inspector influenced by tooling from Allegro CL and supports image dumping and runtime introspection comparable to facilities in LispWorks and Clozure CL.
Internally, CLISP uses a tagged data representation and a garbage collector designed to function across platforms including Solaris and HP-UX. The bytecode engine facilitates fast startup and script execution, while the runtime supports Unicode via standards informed by work at Unicode Consortium and integrations similar to those by Mozilla Foundation and Apache Software Foundation projects. CLISP’s design choices reflect trade-offs studied in academic literature from ACM and IEEE conferences on language implementation and runtime systems.
CLISP is distributed as source and binary packages compatible with major distributions and repositories such as Debian, Ubuntu, Fedora, and Arch Linux, and packaged for platforms including Microsoft Windows via ports and installers and for macOS via package managers that mirror work by Homebrew and MacPorts. CLISP runs on assorted processor architectures documented by organizations like ARM Holdings, Intel, and AMD and has been built for environments from server-class hardware used in Amazon Web Services deployments to embedded contexts explored by research at ETH Zurich and TU Delft.
Binary distributions have appeared in ecosystem projects such as Cygwin, integration testbeds for Jenkins and Travis CI, and in containerized images leveraging orchestration systems like Docker and Kubernetes. Packaging efforts and distribution mirrors have involved coordination with maintainers from Debian Project and contributors active in repositories hosted by organizations such as GNU Savannah and collaborative platforms inspired by GitHub and GitLab.
Development of CLISP has historically been coordinated through lists and repositories associated with GNU Project infrastructure and community gatherings at conferences like Lisp Conference events and ICFP. Contributors have included researchers and engineers from institutions such as CNRS and companies that used Lisp in production, echoing community patterns seen around implementations like SBCL and ECL. Documentation, tutorials, and example code have been exchanged via channels similar to Stack Overflow, university courses at Massachusetts Institute of Technology and University of Cambridge, and community-driven wikis and blogs influenced by practitioners from Nokia and Siemens.
The project has attracted users interested in rapid prototyping, symbolic computation, and AI research rooted in traditions from SRI International and DARPA initiatives. Collaboration tools and patch submissions have reflected workflows used in other open-source projects sponsored by entities like Google and Red Hat.
CLISP is released under the GNU General Public License (GPL), aligning it with licensing frameworks used by the GNU Project and ensuring copyleft protections comparable to those governing software like GCC and GNU Emacs. The choice of GPL has implications for redistribution and linking practices similar to debates around projects such as OpenSSL and the Linux kernel and has informed packaging policies followed by organizations including the Free Software Foundation and distributions like Debian Project.
Legal and compliance considerations for CLISP deployments interface with intellectual property practices at corporations like IBM and standards bodies such as ISO, reflecting standard open-source governance issues addressed at forums like Open Source Summit. Redistributions must observe GPL terms when bundling CLISP with proprietary systems, a topic of practical relevance to companies that integrate Lisp runtimes into products developed at firms like Nokia and Ericsson.