Common Lisp Interface Manager

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search
Common Lisp Interface Manager
Developer(s)International Lisp Associates, Symbolics Inc., Xerox Corporation, Franz Inc., LispWorks Ltd.
Initial release1993; 28 years ago (1993)
Written inCommon Lisp CLOS
Operating systemCross-platform
PlatformIA-32, x86-64
Available inEnglish
TypeWidget toolkit

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.[1] It is a fully object-oriented programming user interface management system,[2] using the Common Lisp Object System (CLOS) and is based on the mechanism of stream input and output.[3] There are also facilities for output device independence. It is descended from the GUI system Dynamic Windows[4] 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[5] – has been picking up steam lately, so we may be on the verge of a CLIM renaissance. – From Practical Common Lisp[6]

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.[7] CLIM supports, like Dynamic Windows, so-called Presentations.[8][9][10]

CLIM is available for Allegro CL,[11] LispWorks,[12] Macintosh Common Lisp, and Symbolics Genera[13]

McCLIM Lisp Listener

A free software implementation of CLIM is named McCLIM.[14] 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.[15]

Applications using CLIM[edit]

  • BB1 Blackboard Kernel (BBK)[16]
  • CLASP: analyzes data from experiments via graphics, statistical tests, and various data manipulation types[17]
  • CLIB, a prototype interface builder for CLIM[18]
  • Direct Labor Management System (DLMS), manages automobile manufacturing process system at Ford assembly plants[19]
  • DLMAPS, an ontology-based spatial query language and environment, a predecessor of GeoSPARQL[20]
  • GenEd, editor with generic semantics for formal reasoning on visual notations[21]
  • Grasper-CL, graph management system[22]
  • 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.[23]
  • 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[24]
  • Climaxima, a Maxima (software) graphical front-end.
  • Tangram, a Tangram Puzzle Solver capable of solving arbitrary geometric tiling problems.


  1. ^ "CLIM 2 Specification: Part I: Overview and Conventions". Gilbert Baumann. Retrieved 2019-08-25.
  2. ^ Möller, Ralf. "User Interface Management Systems: The CLIM Perspective". CiteSeerX Cite journal requires |journal= (help)
  3. ^ "A Guided Tour of CLIM, Common Lisp Interface Manager" (PDF).
  4. ^ "Programming the User Interface, Genera 8.3" (PDF). Bitsavers. Symbolics, Inc.
  5. ^ "".
  6. ^ Seibel, Peter. "Conclusion: What's Next?". Practical Common Lisp.
  7. ^ Rao, Ramana. "Implementation Reflection in Silica" (PDF). Springer: Extra Materials. Xerox PARC.
  8. ^ C., Eugene; Ciccarelli, IV (1984). "Presentation Based User Interfaces, MIT Technical Report: AITR-794" (PDF).
  9. ^ Zdybel, Frank; Greenfeld, Norton R.; Yonke, Martin D. "An information presentation system" (PDF).
  10. ^ Moore, Timothy (2008). "An Implementation of CLIM Presentation Types" (PDF).
  11. ^ "CLIM 2 User Guide, version 2.2.2, Allegro Common Lisp 9.0" (PDF). Franz, Inc.
  12. ^ "Common Lisp Interface Manager User Guide, version 2.0, LIspWorks 7.0 Manual". LispWorks.
  13. ^ "Common Lisp Interface Manager CLIM, Release 2.0, Symbolics Genera 8.3" (PDF). Bitsavers. Symbolics.
  14. ^ Strandh, Robert; Moore, Timothy (August 17, 2002). "A Free Implementation of CLIM" (PDF). Retrieved 2019-08-25.
  15. ^ "Climacs: An Emacs-like editor in Common Lisp". Retrieved 2019-08-25.
  16. ^ Brownston, Lee (November 1995). "BBK Manual". Knowledge Systems, AI Laboratory. Stanford University. Retrieved 2019-08-27.
  17. ^ "CLASP" (PDF). School of Information. The University of Arizona. Retrieved 2019-08-27.
  18. ^ Hesse, Jan; König, Rainer; Logi, Filippo; Herder, Jens (August 1993). "A prototype of an interface builder for the Common Lisp Interface Manager – CLIB". ACM SIGPLAN Notices. New York, New York, United States: Association for Computing Machinery. 28 (8): 19–28. doi:10.1145/163114.163116. S2CID 7329400.
  19. ^ Rychtyckyj, Nestor (1999). "DLMS: Ten Years of AI for Vehicle Assembly Process Planning". IAAI-99 Proceedings. Association for the Advancement of Artificial Intelligence: 821–828. ISBN 978-0-262-51106-3. Retrieved 2019-09-03.
  20. ^ Wessel, Michael; Möller, Ralf (March 2009). "Flexible software architectures for ontology-based information systems". Journal of Applied Logic. 7 (1): 75–99. doi:10.1016/j.jal.2007.07.006. Retrieved 2021-03-14.
  21. ^ Haarslev, Volker; Wessel, Michael. "GenEd – An Editor with Generic Semantics for Formal Reasoning about Visual Notations". Proceedings, 12th IEEE Symposium on Visual Languages. Boulder, Colorado, USA: IEEE Press: September 3–6, 1996. Retrieved 2019-09-03.
  22. ^ Karp, Peter D.; Lowrance, John D.; Strat, Thomas M.; Wilkins, David E. (20 January 1993). "The Grasper-CL Graph Management System" (PDF). SRI International. Retrieved 2019-09-06.
  23. ^ Karp, Peter D; Midford, Peter E; Billington, Richard; Kothari, Anamika; Krummenacker, Markus; Latendresse, Mario; Ong, Wai Kit; Subhraveti, Pallavi; Caspi, Ron; Fulcher, Carol; Keseler, Ingrid M (2021-01-18). "Pathway Tools version 23.0 update: software for pathway/genome informatics and systems biology". Briefings in Bioinformatics. 22 (1): 109–126. doi:10.1093/bib/bbz104. ISSN 1467-5463. PMC 8453236. PMID 31813964.
  24. ^ Wessel, Michael; Haarslev, Volker. "VISCO: Brining Visual Spatial Querying to Reality". Proceedings, 14th IEEE Symposium on Visual Languages. Nova Scotia, Canada: IEEE Press: September 1–4, 1998. CiteSeerX Retrieved 2021-03-14.

External links[edit]