The Common Lisp Interface Manager (CLIM) is a
Common Lisp
Common Lisp (CL) is a dialect of the Lisp programming language, published in ANSI standard document ''ANSI INCITS 226-1994 (S20018)'' (formerly ''X3.226-1994 (R1999)''). The Common Lisp HyperSpec, a hyperlinked HTML version, has been derived fr ...
-based programming interface for creating
user interface
In the industrial design field of human–computer interaction, a user interface (UI) is the space where interactions between humans and machines occur. The goal of this interaction is to allow effective operation and control of the machine f ...
s, i.e.,
graphical user interface
The GUI ( "UI" by itself is still usually pronounced . or ), graphical user interface, is a form of user interface that allows User (computing), users to Human–computer interaction, interact with electronic devices through graphical icon (comp ...
s (GUIs). It provides an
application programming interface (API) to user interface facilities for the programming language
Lisp
A lisp is a speech impairment in which a person misarticulates sibilants (, , , , , , , ). These misarticulations often result in unclear speech.
Types
* A frontal lisp occurs when the tongue is placed anterior to the target. Interdental lispi ...
. It is a fully
object-oriented programming
Object-oriented programming (OOP) is a programming paradigm based on the concept of " objects", which can contain data and code. The data is in the form of fields (often known as attributes or ''properties''), and the code is in the form of ...
user interface management system, using the
Common Lisp Object System
The Common Lisp Object System (CLOS) is the facility for object-oriented programming which is part of ANSI Common Lisp. CLOS is a powerful dynamic object system which differs radically from the OOP facilities found in more static languages such a ...
(CLOS) and is based on the mechanism of
stream input and output
In computing, input/output (I/O, or informally io or IO) is the communication between an information processing system, such as a computer, and the outside world, possibly a human or another information processing system. Inputs are the signals ...
. There are also facilities for output device independence. It is descended from the GUI system Dynamic Windows of
Symbolics
Symbolics was a computer manufacturer Symbolics, Inc., and a privately held company that acquired the assets of the former company and continues to sell and maintain the Open Genera Lisp system and the Macsyma computer algebra system. '
Lisp machine
Lisp machines are general-purpose computers designed to efficiently run Lisp as their main software and programming language, usually via hardware support. They are an example of a high-level language computer architecture, and in a sense, the ...
s between 1988 and 1993.
The main development was CLIM 2.0, released in 1993. It is
free and open source software
Free and open-source software (FOSS) is a term used to refer to groups of software consisting of both free software and open-source software where anyone is freely licensed to use, copy, study, and change the software in any way, and the source ...
released under a
GNU Library General Public License (LGPL).
CLIM has been designed to be
portable
Portable may refer to:
General
* Portable building, a manufactured structure that is built off site and moved in upon completion of site and utility work
* Portable classroom, a temporary building installed on the grounds of a school to provide a ...
across different
Common Lisp
Common Lisp (CL) is a dialect of the Lisp programming language, published in ANSI standard document ''ANSI INCITS 226-1994 (S20018)'' (formerly ''X3.226-1994 (R1999)''). The Common Lisp HyperSpec, a hyperlinked HTML version, has been derived fr ...
implementations and different
windowing system
In computing, a windowing system (or window system) is software that manages separately different parts of display screens. It is a type of graphical user interface (GUI) which implements the WIMP (windows, icons, menus, pointer) paradigm for ...
s. It uses a
reflective
Reflection is the change in direction of a wavefront at an interface between two different media so that the wavefront returns into the medium from which it originated. Common examples include the reflection of light, sound and water waves. The ' ...
architecture for its window system interface. CLIM supports, like Dynamic Windows, so-called Presentations.
CLIM is available for Allegro CL, LispWorks, Macintosh Common Lisp, and Symbolics Genera

A
free software
Free software or libre software is computer software distributed under terms that allow users to run the software for any purpose as well as to study, change, and distribute it and any adapted versions. Free software is a matter of liberty, ...
implementation of CLIM is named
McCLIM McCLIM is an implementation of the Common Lisp Interface Manager (CLIM), for the programming language Common Lisp. The project is named partly after Mike McDonald, the person who began it. It is free and open-source software released under the GNU ...
. It has several extensions to CLIM and has been used for several applications like
Climacs, an
Emacs
Emacs , originally named EMACS (an acronym for "Editor MACroS"), is a family of text editors that are characterized by their extensibility. The manual for the most widely used variant, GNU Emacs, describes it as "the extensible, customizable, ...
-like editor. It also provides a
mouse
A mouse ( : mice) is a small rodent. Characteristically, mice are known to have a pointed snout, small rounded ears, a body-length scaly tail, and a high breeding rate. The best known mouse species is the common house mouse (''Mus musculus' ...
-sensitive Lisp Listener, a
read–eval–print loop
A read–eval–print loop (REPL), also termed an interactive toplevel or language shell, is a simple interactive computer programming environment that takes single user inputs, executes them, and returns the result to the user; a program written ...
(REPL) for Common Lisp.
Applications using CLIM
* BB1 Blackboard Kernel (BBK)
* CLASP: analyzes data from experiments via graphics, statistical tests, and various data manipulation types
* CLIB, a prototype interface builder for CLIM
* Direct Labor Management System (DLMS), manages automobile manufacturing process system at Ford assembly plants
DLMAPS an ontology-based spatial query language and environment, a predecessor of GeoSPARQL
GenEd editor with generic semantics for formal reasoning on visual notations
* Grasper-CL, graph management system
KONWERK a domain independent configuration tool
Mirage an editor for building gadget-oriented graphical user interfaces.
Pathway Tools a comprehensive bioinformatics software package that spans genome data management, systems biology, and omics data analysis.
Petri nets a Petri net editor and simulator
SENEX a CLOS/CLIM application for molecular pathology
SPIKE scheduling system for the Hubble space telescope observations. Also used fo
ASTRO-D an X-Ray observation astronomy mission
SpyGlass an analysis environment for viewing packet traces, from BBN.
VITRA Workbench an integrated vision and natural language processing system
VISCO a visual spatial query language
Climaxima a
Maxima (software)
Maxima () is a computer algebra system (CAS) based on a 1982 version of Macsyma. It is written in Common Lisp and runs on all POSIX platforms such as macOS, Unix, BSD, and Linux, as well as under Microsoft Windows and Android. It is free softwa ...
graphical front-end.
Tangram a Tangram Puzzle Solver capable of solving arbitrary geometric tiling problems.
References
External links
* , McCLIM
CLIM 2.0 Specificationas multiple
HTML
The HyperText Markup Language or HTML is the standard markup language for documents designed to be displayed in a web browser. It can be assisted by technologies such as Cascading Style Sheets (CSS) and scripting languages such as JavaScri ...
pages; (McCLIM
tarballs contain the specification's
TeX
Tex may refer to:
People and fictional characters
* Tex (nickname), a list of people and fictional characters with the nickname
* Joe Tex (1933–1982), stage name of American soul singer Joseph Arrington Jr.
Entertainment
* ''Tex'', the Italian ...
sources)
{{Lisp programming language
Common Lisp
Common Lisp (programming language) software