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.[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]

Common Lisp Interface Manager
Developer(s)Franz Inc., LispWorks Ltd.
Initial release1993 (1993)
Written inCommon Lisp CLOS
Operating systemCross-platform
PlatformIA-32, x86-64
Available inEnglish
TypeWidget toolkit

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]

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

  • 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]
  • GenEd, editor with generic semantics for formal reasoning on visual notations[20]
  • Grasper-CL, graph management system[21]
  • KONWERK, a domain independent configuration tool
  • Mirage, an editor for building gadget-oriented graphical user interfaces.
  • 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
  • Climaxima, a Maxima (software) graphical front-end.


  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.
  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. 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.
  21. 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.
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.