Common Lisp Interface Manager
Developer(s)International Lisp Associates, Symbolics Inc., Xerox Corporation, Franz Inc., LispWorks Ltd.
Initial release1993; 31 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


  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)): 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. 28 (8). New York, New York, United States: Association for Computing Machinery: 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.
  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 (1998). "VISCO: Brining Visual Spatial Querying to Reality". Proceedings, 14th IEEE Symposium on Visual Languages. Nova Scotia, Canada: IEEE Press: September 1–4, 1998. CiteSeerX