Software:Common Lisp Interface Manager

From HandWiki
Common Lisp Interface Manager
Developer(s)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
LicenseLGPL
Websitecommon-lisp.net/project/mcclim

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 Common-Lisp.net[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

  • 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 graphical front-end.

References

  1. "CLIM 2 Specification: Part I: Overview and Conventions". http://bauhh.dyndns.org:8000/clim-spec/1.html#_2. 
  2. Möller, Ralf. User Interface Management Systems: The CLIM Perspective. 
  3. "A Guided Tour of CLIM, Common Lisp Interface Manager". http://clemens.endorphin.org/a-guided-tour-of-CLIM-2006.pdf. 
  4. "Programming the User Interface, Genera 8.3". Symbolics, Inc.. http://bitsavers.informatik.uni-stuttgart.de/pdf/symbolics/software/genera_8/Programming_the_User_Interface.pdf. 
  5. "Common-Lisp.net". http://common-lisp.net/project/mcclim/. 
  6. Seibel, Peter. "Conclusion: What's Next?". Practical Common Lisp. http://www.gigamonkeys.com/book/conclusion-whats-next.html. 
  7. Rao, Ramana. "Implementation Reflection in Silica". Xerox PARC. http://extras.springer.com/2000/978-3-540-67660-7/papers/0512/05120251.pdf. 
  8. C., Eugene; Ciccarelli, IV (1984). "Presentation Based User Interfaces, MIT Technical Report: AITR-794". http://www.textfiles.com/bitsavers/pdf/mit/ai/aim/AITR-794.pdf. 
  9. Zdybel, Frank; Greenfeld, Norton R.; Yonke, Martin D.. "An information presentation system". http://www.ijcai.org/Past%20Proceedings/IJCAI-81-VOL-2/PDF/076.pdf. 
  10. Moore, Timothy (2008). "An Implementation of CLIM Presentation Types". http://www.jucs.org/jucs_14_20/an_implementation_of_clim/jucs_14_20_3358_3369_moore.pdf. 
  11. "CLIM 2 User Guide, version 2.2.2, Allegro Common Lisp 9.0". http://franz.com/support/documentation/9.0/doc/clim-ug.pdf. 
  12. "Common Lisp Interface Manager User Guide, version 2.0, LIspWorks 7.0 Manual". http://www.lispworks.com/documentation/lw70/CLIM/html/climuser.htm. 
  13. "Common Lisp Interface Manager CLIM, Release 2.0, Symbolics Genera 8.3". Symbolics. http://bitsavers.trailing-edge.com/pdf/symbolics/software/genera_8/Common_Lisp_Interface_Manager__CLIM__Release_2.0.pdf. 
  14. Strandh, Robert; Moore, Timothy (August 17, 2002). "A Free Implementation of CLIM". https://common-lisp.net/project/mcclim/clim-paper.pdf. 
  15. "Climacs: An Emacs-like editor in Common Lisp". http://common-lisp.net/project/climacs/. 
  16. Brownston, Lee (November 1995). "BBK Manual". Stanford University. http://www.ksl.stanford.edu/pub/ais/BB1v32Manual.ps. 
  17. "CLASP". The University of Arizona. http://w3.sista.arizona.edu/~cohen/Publications/papers/tai94_sa_95-01.pdf. 
  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. https://aaai.org/Library/IAAI/1999/iaai99-116.php. 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. http://users.encs.concordia.ca/~haarslev/publications/vl96/paper.html. 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". http://www.sri.com/sites/default/files/uploads/publications/pdf/454.pdf. 

External links