Common Lisp Interface Manager: Difference between revisions

Content deleted Content added
WP:REFerences: parameterless with inline WP:EXTernal links > WP:CITations, parameters: add, fill. Cut needless carriage return in section. WP:LINK update. Adds: Template:Quote, WP:NAVBOX Template:Common Lisp.
Template:Infobox software add, parameters fill. WP:REFerences: parameterless + WP:EXTernal link > Template:Cite webs, parameters: add, fill. Nonlead-word nonproper noun MOS:CAPS > sentence case.
Line 1:
{{Infobox software
| name = Common Lisp Interface Manager
| logo = <!-- Image name is enough. -->
| logo alt =
| logo caption =
| screenshot = <!-- Image name is enough. -->
| screenshot size =
| screenshot alt =
| caption =
| author =
| developer = Franz Inc., [[LispWorks]] Ltd.
| released = {{Start date and age|1993}}<!-- If known, add MM|DD -->
| latest release version =
| latest release date = <!-- {{Start date and age|201Y|MM|DD|df=yes/no}} -->
| latest preview version =
| latest preview date = <!-- {{Start date and age|201Y|MM|DD|df=yes/no}} -->
| repo = <!-- {{URL|example.org}} -->
| programming language = [[Common Lisp]] [[Common Lisp Object System|CLOS]]
| engine = <!-- or engines -->
| operating system = [[Cross-platform software|Cross-platform]]
| platform = [[IA-32]], [[x86-64]]
| included with =
| size =
| language = English
| genre = [[Widget toolkit]]
| license = [[GNU Library General Public License|LGPL]]
| alexa =
| website = <!-- {{URL|example.org}} -->
| standard =
| AsOf =
}}
The '''Common Lisp Interface Manager''' ('''CLIM''') is a [[Common Lisp]]-based programming interface for creating [[user interface]]s, i.e., [[graphical user interface]]s (GUIs). It is a fully [[object-oriented programming]] [[User interface management systems|User Interface Management System]],<ref>{{cite web |url=http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.54.6663&rep=rep1&type=pdf |title=User Interface Management Systems: The CLIM Perspective |last=Möller |first=Ralf}}</ref> using the [[Common Lisp Object System]] (CLOS) and is based on the idea of [[Standard streams|stream]] [[Input/output|input and output]].<ref>{{cite web |url=http://clemens.endorphin.org/a-guided-tour-of-CLIM-2006.pdf |title=A Guided Tour of CLIM, Common Lisp Interface Manager}}</ref> There are also facilities for output device independence. It is descended from the GUI system Dynamic Windows<ref>{{cite web |url=http://bitsavers.informatik.uni-stuttgart.de/pdf/symbolics/software/genera_8/Programming_the_User_Interface.pdf |title=Programming the User Interface, Genera 8.3 |website=Symbolics, Inc.}}</ref> of [[Symbolics]]' [[Lisp machine]]s between 1988 and 1993.
 
{{Quote |text=... you can check out Common Lisp Interface Manager (CLIM). A descendant of the [[Symbolics]] [[Lisp machine]]s 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<ref>{{cite web |url=http://common-lisp.net/project/mcclim/ |title=Common-Lisp.net}}</ref> – has been picking up steam lately, so we may be on the verge of a CLIM renaissance. ''From [[Practical Common Lisp]]''<ref>{{cite book |last=Seibel |first=Peter |url=http://www.gigamonkeys.com/book/conclusion-whats-next.html |chapter=Conclusion: What's Next? |title=Practical Common Lisp}}</ref>}}
 
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 [[Software portability|portable]] across different [[Common Lisp]] implementations and different [[windowing system]]s. It uses a [[Reflection (computer programming)|reflective]] architecture for its window system interface.<ref>[{{cite web |url=http://extras.springer.com/2000/978-3-540-67660-7/papers/0512/05120251.pdf |title=Implementation Reflection in Silica], |last=Rao |first=Ramana Rao,|website=Springer: Extra Materials |publisher=Xerox PARC}}</ref> CLIM supports, like Dynamic Windows, so-called Presentations.<ref>[{{cite web |url=http://www.textfiles.com/bitsavers/pdf/mit/ai/aim/AITR-794.pdf |title=Presentation Based User Interfaces], MIT Technical Report: AITR-794, |date=1984, Eugene |last=C. IV|first=Eugene |last2=Ciccarelli |first2=IV}}</ref><ref>[{{cite web |url=http://www.ijcai.org/Past%20Proceedings/IJCAI-81-VOL-2/PDF/076.pdf |title=An information presentation system], |last=Zdybel |first=Frank Zdybel,|last2=Greenfeld |first2=Norton R. Greenfeld,|last3=Yonke |first3=Martin D. Yonke}}</ref><ref>[{{cite web |url=http://www.jucs.org/jucs_14_20/an_implementation_of_clim/jucs_14_20_3358_3369_moore.pdf |title=An Implementation of CLIM Presentation Types], |last=Moore |first=Timothy Moore, |date=2008}}</ref>
 
CLIM is available for Allegro CL,<ref>[http://franz.com/support/documentation/9.0/doc/clim-ug.pdf CLIM 2 User Guide, version 2.2.2], Allegro Common Lisp 9.0, Franz, Inc.</ref> LispWorks,<ref>[http://www.lispworks.com/documentation/lw70/CLIM/html/climuser.htm Common Lisp Interface Manager User Guide, Version 2.0] LIspWorks 7.0 Manual</ref> Macintosh Common Lisp, and Symbolics Genera<ref>[http://bitsavers.trailing-edge.com/pdf/symbolics/software/genera_8/Common_Lisp_Interface_Manager__CLIM__Release_2.0.pdf Common Lisp Interface Manager CLIM, Release 2.0], Symbolics Genera 8.3</ref>
Line 11 ⟶ 42:
[[File:Listener.png|thumb|300px|McCLIM Lisp Listener]]
 
A [[free software]] implementation of CLIM is named [[McCLIM]].<ref>[{{cite web |url=https://common-lisp.net/project/mcclim/clim-paper.pdf |title=A Free Implementation of CLIM], |last=Strandh |first=Robert Strandh,|last2=Moore |first2=Timothy Moore|date=August 17, 2002 |access-date=2019-08-25}}</ref> It has several extensions to CLIM and has been used for several applications like [[Climacs]], an [[Emacs]]-like editor. It also provides a [[Computer mouse|mouse]]-sensitive Lisp Listener, a [[read–eval–print loop]] (REPL) for Common Lisp.<ref>{{cite web |url=http://common-lisp.net/project/climacs/ |title=Climacs: An Emacs-like editor in Common Lisp |author=<!--Unstated--> |date=<!--Undated--> |website=Common-lisp.net |access-date=2019-08-25}}</ref>
 
==Applications using CLIM==
Line 32 ⟶ 63:
==External links==
* [http://bauhh.dyndns.org:8000/clim-spec/ CLIM 2.0 Specification] as multiple [[HTML]] pages; (McCLIM [[tar (computing)|tarballs]] contain the specification's [[TeX]] sources)
* [http://common-lisp.net/project/mcclim/ McCLIM Projectproject Pagepage]
* [http://common-lisp.net/project/climacs/ Climacs Project Page]
 
{{Widget toolkits}}