Common Lisp Interface Manager: Difference between revisions

Content deleted Content added
Template:Infobox software parameter fill. Small WP:EoS WP:COPYEDITs: clarify. WP:LINK add. WP:REFerences: parameterless + WP:EXTernal links > WP:CITation Template:Cite webs, parameters: add, fill. Template:Official website add.
Citation bot (talk | contribs)
Removed proxy/dead URL that duplicated identifier. Removed access-date with no URL. | Use this bot. Report bugs. | Suggested by AManWithNoPlan | #UCB_CommandLine
 
(29 intermediate revisions by 14 users not shown)
Line 9:
| caption =
| author =
| developer = International Lisp Associates, Symbolics Inc., Xerox Corporation, Franz Inc., [[LispWorks]] Ltd.
| released = {{Start date and age|1993}}<!-- If known, add MM|DD -->
| latest release version =
Line 30:
| 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 provides an [[application programming interface]] (API) to user interface facilities for the programming language [[Lisp (programming language)|Lisp]].<ref>{{cite web |url=http://bauhh.dyndns.org:8000/clim-spec/1.html#_2 |title=CLIM  2  Specification: Part  I:  Overview  and  Conventions |website=Gilbert Baumann |date=<!--Undated--> |access-date=2019-08-25}}</ref> It is a fully [[object-oriented programming]] [[Useruser interface management systems|User Interface Management Systemsystem]],<ref>{{cite web |url=http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.54.6663&rep=rep1&type=pdfjournal |title=User Interface Management Systems: The CLIM Perspective |last=Möller |first=Ralf|citeseerx = 10.1.1.54.6663}}</ref> using the [[Common Lisp Object System]] (CLOS) and is based on the mechanism 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=Bitsavers |publisher=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 |chapter-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 |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 |lastlast1=C. |firstfirst1=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 |lastlast1=Zdybel |firstfirst1=Frank |last2=Greenfeld |first2=Norton R. |last3=Yonke |first3=Martin D.}}</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 |date=2008}}</ref>
 
CLIM is available for Allegro CL,<ref>{{cite web |url=http://franz.com/support/documentation/9.0/doc/clim-ug.pdf |title=CLIM 2 User Guide, version 2.2.2, Allegro Common Lisp 9.0 |website=Franz, Inc.}}</ref> LispWorks,<ref>{{cite web |url=http://www.lispworks.com/documentation/lw70/CLIM/html/climuser.htm |title=Common Lisp Interface Manager User Guide, version 2.0, LIspWorks 7.0 Manual |website=LispWorks}}</ref> Macintosh Common Lisp, and Symbolics Genera<ref>{{cite web |url=http://bitsavers.trailing-edge.com/pdf/symbolics/software/genera_8/Common_Lisp_Interface_Manager__CLIM__Release_2.0.pdf |title=Common Lisp Interface Manager CLIM, Release 2.0, Symbolics Genera 8.3 |website=Bitsavers |publisher=Symbolics}}</ref>
Line 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 |lastlast1=Strandh |firstfirst1=Robert |last2=Moore |first2=Timothy |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==
* [BB1 Blackboard Kernel (BBK)<ref>{{cite web |url=http://www.ksl.stanford.edu/pub/ais/BB1v32Manual.ps BB1]|title=BBK Manual |last=Brownston |first=Lee |date=November 1995 |website=Knowledge Systems, BlackboardAI systemLaboratory |publisher=Stanford University |access-date=2019-08-27}}</ref>
* [CLASP: analyzes data from experiments via graphics, statistical tests, and various data manipulation types<ref>{{cite web |url=http://w3.sista.arizona.edu/~cohen/Publications/papers/tai94_sa_95-01.pdf |title=CLASP], analyze|website=School dataof fromInformation experiments|publisher=The byUniversity usingof graphicsArizona |access-date=2019-08-27<!--Tried, statisticalnot tests and various kinds of data manipulationfound-->}}</ref>
* CLIB, a prototype interface builder for CLIM<ref>{{cite journal |last1=Hesse |first1=Jan |last2=König |first2=Rainer |last3=Logi |first3=Filippo |last4=Herder |first4=Jens |date=August 1993 |title=A prototype of an interface builder for the Common Lisp Interface Manager – CLIB |journal=ACM SIGPLAN Notices |volume=28 |issue=8 |pages=19–28 |___location=New York, New York, United States |publisher=Association for Computing Machinery |doi=10.1145/163114.163116 |s2cid=7329400 }}</ref>
* [http://dl.acm.org/citation.cfm?id=163116 CLIB], a prototype of an interface builder for CLIM
* Direct Labor Management System (DLMS), manages automobile manufacturing process system at Ford assembly plants<ref>{{cite journal |last=Rychtyckyj |first=Nestor |date=1999 |title=DLMS: Ten Years of AI for Vehicle Assembly Process Planning |url=https://aaai.org/Library/IAAI/1999/iaai99-116.php |journal=IAAI-99 Proceedings |pages=821–828 |isbn=978-0-262-51106-3 |publisher=Association for the Advancement of Artificial Intelligence |access-date=2019-09-03}}</ref>
* [https://web.archive.org/web/20160304113901/http://www.aaai.org/Papers/IAAI/1999/IAAI99-116 Direct Labor Management System], managing the automobile manufacturing process system at Ford's assembly plants
* [https://github.com/lambdamikel/DLMAPS DLMAPS], an ontology-based spatial query language and environment, a predecessor of GeoSPARQL<ref>{{cite journal |last1=Wessel|first1=Michael |last2=Möller |first2=Ralf |title=Flexible software architectures for ontology-based information systems |journal=Journal of Applied Logic |volume=7 |issue=1 |date=March 2009 |pages=75–99 |doi=10.1016/j.jal.2007.07.006 |doi-access=free }}</ref>
* [http://users.encs.concordia.ca/~haarslev/publications/vl96/paper.html GenEd], An Editor with Generic Semantics for Formal Reasoning about Visual Notations
* [https://github.com/lambdamikel/GenEd GenEd], editor with generic semantics for formal reasoning on visual notations<ref>{{cite journal |last1=Haarslev |first1=Volker |last2=Wessel |first2=Michael |title=GenEd – An Editor with Generic Semantics for Formal Reasoning about Visual Notations |url=http://users.encs.concordia.ca/~haarslev/publications/vl96/paper.html |journal=Proceedings, 12th IEEE Symposium on Visual Languages |___location=Boulder, Colorado, USA |pages=September 3–6, 1996 |publisher=IEEE Press |access-date=2019-09-03}}</ref>
* [http://www.sri.com/sites/default/files/uploads/publications/pdf/454.pdf Grasper-CL], a graph management system
* Grasper-CL, graph management system<ref>{{cite web |url=http://www.sri.com/sites/default/files/uploads/publications/pdf/454.pdf |title=The Grasper-CL Graph Management System |last1=Karp |first1=Peter D. |last2=Lowrance |first2=John D. |last3=Strat |first3=Thomas M. |last4=Wilkins |first4=David E. |date=20 January 1993 |website=SRI International |access-date=2019-09-06}}</ref>
* [https://www.aaai.org/Papers/Workshops/1999/WS-99-05/WS99-05-024.pdf KONWERK], a ___domain independent configuration tool
* [http://homepages.sover.net/~nichael/nlc-publications/mirage/ Mirage], an editor for building gadget-oriented graphical user interfaces.
*[http://bioinformatics.ai.sri.com/ptools/ Pathway Tools], a comprehensive bioinformatics software package that spans genome data management, systems biology, and omics data analysis.<ref>{{Cite journal|last1=Karp|first1=Peter D|last2=Midford|first2=Peter E|last3=Billington|first3=Richard|last4=Kothari|first4=Anamika|last5=Krummenacker|first5=Markus|last6=Latendresse|first6=Mario|last7=Ong|first7=Wai Kit|last8=Subhraveti|first8=Pallavi|last9=Caspi|first9=Ron|last10=Fulcher|first10=Carol|last11=Keseler|first11=Ingrid M|date=2021-01-18|title=Pathway Tools version 23.0 update: software for pathway/genome informatics and systems biology|url=https://academic.oup.com/bib/article/22/1/109/5669859|journal=Briefings in Bioinformatics|language=en|volume=22|issue=1|pages=109–126|doi=10.1093/bib/bbz104|pmid=31813964|issn=1467-5463|pmc=8453236}}</ref>
* [https://github.com/lambdamikel/PetriNets-CLIM-Demo Petri nets], a Petri net editor and simulator
* [https://www.aaai.org/Papers/ISMB/1993/ISMB93-005.pdf SENEX], a CLOS/CLIM application for molecular pathology
* [http://www.stsci.edu/institute/software_hardware/spike/ SPIKE], scheduling system for the Hubble space telescope observations. Also used for [https://www.researchgate.net/profile/Mark_Johnston7/publication/234221453_The_Application_of_Artificial_Intelligence_to_Astronomical_Scheduling_Problems/links/53dfb4c70cf27a7b8306a5b6.pdf ASTRO-D], an X-Ray observation astronomy mission
* [https://web.archive.org/web/20160304140342/https://dist-systems.bbn.com/tech/spyglass/ SpyGlass], an analysis environment for viewing packet traces, from BBN.
* [http://www.dfki.de/~flint/papers/v3.pdf VITRA Workbench], an integrated vision and natural language processing system
* [https://github.com/lambdamikel/VISCO VISCO], a visual spatial query language<ref>{{cite journal |last1=Wessel |first1=Michael |last2=Haarslev |first2=Volker |title=VISCO: Brining Visual Spatial Querying to Reality |journal=Proceedings, 14th IEEE Symposium on Visual Languages |year=1998 |___location=Nova Scotia, Canada |pages=September 1–4, 1998 |publisher=IEEE Press |citeseerx=10.1.1.52.2080 }}</ref>
* [https://github.com/lokedhs/maxima-client Climaxima], a [[Maxima (software)]] graphical front-end.
* [https://github.com/lambdamikel/Common-Lisp-Tangram-Solver Tangram], a Tangram Puzzle Solver capable of solving arbitrary geometric tiling problems.
 
==References==
Line 70 ⟶ 76:
 
[[Category:Common Lisp]]
[[Category:Common Lisp (programming language) software]]