Common Lisp Interface Manager
# Common Lisp Interface Manager

The Common Lisp Interface Manager (CLIM) is a Common Lisp-based programming interface for creating user interfaces, i.e., graphical user interfaces (GUIs). It provides an application programming interface (API) to user interface facilities for the programming language Lisp. It is a fully object-oriented programming user interface management system, using the Common Lisp Object System (CLOS) and is based on the mechanism of stream input and output. There are also facilities for output device independence. It is descended from the GUI system Dynamic Windows of Symbolics' Lisp machines between 1988 and 1993.

   ... you can check out Common Lisp Interface Manager (CLIM). A descendant of the Symbolics Lisp machines GUI framework, CLIM is powerful but complex. Although many commercial Common Lisp implementations actually support it, it doesn't seem to have seen a lot of use. But in the past couple years, an open-source implementation of CLIM, McCLIM – now hosted at Common-Lisp.net – has been picking up steam lately, so we may be on the verge of a CLIM renaissance. – From Practical Common Lisp

The main development was CLIM 2.0, released in 1993. It is free and open source software released under a GNU Library General Public License (LGPL).

CLIM has been designed to be portable across different Common Lisp implementations and different windowing systems. It uses a reflective 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 implementation of CLIM is named McCLIM. It has several extensions to CLIM and has been used for several applications like Climacs, an Emacs-like editor. It also provides a mouse-sensitive Lisp Listener, a read–eval–print loop (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 for 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) graphical front-end.
* Tangram, a Tangram Puzzle Solver capable of solving arbitrary geometric tiling problems.
