Common Lisp Interface Manager

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search
Common Lisp Interface Manager
Developer(s)Franz Inc., LispWorks Ltd.
Initial release1993; 27 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]
  • 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.

External links[edit]