Common Lisp Interface Manager Explained
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.
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.[5] CLIM supports, like Dynamic Windows, so-called Presentations.[6] [7] [8]
CLIM is available for Allegro CL,[9] LispWorks,[10] Macintosh Common Lisp, and Symbolics Genera[11]
A free software implementation of CLIM is named McCLIM.[12] 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.[13]
Applications using CLIM
- BB1 Blackboard Kernel (BBK)[14]
- CLASP: analyzes data from experiments via graphics, statistical tests, and various data manipulation types[15]
- CLIB, a prototype interface builder for CLIM[16]
- Direct Labor Management System (DLMS), manages automobile manufacturing process system at Ford assembly plants[17]
- DLMAPS, an ontology-based spatial query language and environment, a predecessor of GeoSPARQL[18]
- GenEd, editor with generic semantics for formal reasoning on visual notations[19]
- Grasper-CL, graph management system[20]
- 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.[21]
- 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[22]
- Climaxima, a Maxima (software) graphical front-end.
- Tangram, a Tangram Puzzle Solver capable of solving arbitrary geometric tiling problems.
External links
Notes and References
- Web site: CLIM 2 Specification: Part I: Overview and Conventions . Gilbert Baumann . . 2019-08-25.
- User Interface Management Systems: The CLIM Perspective . Möller . Ralf. 10.1.1.54.6663.
- Web site: A Guided Tour of CLIM, Common Lisp Interface Manager.
- Web site: Programming the User Interface, Genera 8.3 . Bitsavers . Symbolics, Inc..
- Web site: Implementation Reflection in Silica . Rao . Ramana . Springer: Extra Materials . Xerox PARC.
- Web site: Presentation Based User Interfaces, MIT Technical Report: AITR-794 . 1984 . C. . Eugene . Ciccarelli . IV.
- Web site: An information presentation system . Zdybel . Frank . Greenfeld . Norton R. . Yonke . Martin D..
- Web site: An Implementation of CLIM Presentation Types . Moore . Timothy . 2008.
- Web site: CLIM 2 User Guide, version 2.2.2, Allegro Common Lisp 9.0 . Franz, Inc..
- Web site: Common Lisp Interface Manager User Guide, version 2.0, LIspWorks 7.0 Manual . LispWorks.
- Web site: Common Lisp Interface Manager CLIM, Release 2.0, Symbolics Genera 8.3 . Bitsavers . Symbolics.
- Web site: A Free Implementation of CLIM . Strandh . Robert . Moore . Timothy . August 17, 2002 . 2019-08-25.
- Web site: Climacs: An Emacs-like editor in Common Lisp . . . Common-lisp.net . 2019-08-25.
- Web site: BBK Manual . Brownston . Lee . November 1995 . Knowledge Systems, AI Laboratory . Stanford University . 2019-08-27.
- Web site: CLASP . School of Information . The University of Arizona . 2019-08-27.
- 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 . 19–28 . New York, New York, United States . Association for Computing Machinery . 10.1145/163114.163116 . 7329400 .
- Rychtyckyj . Nestor . 1999 . DLMS: Ten Years of AI for Vehicle Assembly Process Planning . IAAI-99 Proceedings . 821–828 . 978-0-262-51106-3 . Association for the Advancement of Artificial Intelligence . 2019-09-03.
- Wessel. Michael . Möller . Ralf . Flexible software architectures for ontology-based information systems . Journal of Applied Logic . 7 . 1 . March 2009 . 75–99 . 10.1016/j.jal.2007.07.006 . free .
- 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 . September 3–6, 1996 . IEEE Press . 2019-09-03.
- Web site: The Grasper-CL Graph Management System . Karp . Peter D. . Lowrance . John D. . Strat . Thomas M. . Wilkins . David E. . 20 January 1993 . SRI International . 2019-09-06.
- 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. en. 22. 1. 109–126. 10.1093/bib/bbz104. 31813964. 1467-5463. 8453236.
- Wessel . Michael . Haarslev . Volker . VISCO: Brining Visual Spatial Querying to Reality . Proceedings, 14th IEEE Symposium on Visual Languages . 1998 . Nova Scotia, Canada . September 1–4, 1998 . IEEE Press . 10.1.1.52.2080 .