[LONG] Re: General comment on Cheese and prior work in this area

Les Tyrrell tyrrell at canis.uiuc.edu
Wed Mar 18 21:24:32 UTC 1998

The following is from:


It mentions CLIM and a few others... this should jog your memory!


------------- Begin Included Message -------------

How can I use the X Window System or other GUIs from Lisp? 

There are several GUI's and Lisp interfaces to the X Window System. Mailing
lists for these systems are listed in the answer to question [4-7].
Various vendors also offer their own interface-building packages.

   CLX provides basic Common Lisp/X functionality. It is a de facto standard
   low-level interface to X, providing equivalent functionality to XLib, but
   in Lisp. It is also a good source for comparing the foreign function calls
   in various Lisps. Does *not* depend on CLOS.  Available free as part of the
   X release in the contrib directory.  Also available by anonymous ftp from
   ftp.x.org:/R5contrib/ as the files CLX.Manual.tar.Z and CLX.R5.02.tar.Z. 
   [Note: The new version of CLX for X11R6 can be found (untarred) in
   with documentation in
   and includes some slight modifications for CLtL2 compatability. You
   can get it in tarred form from the CMU AI Repository, Lisp section.]
   Primary Interface Author: Robert W. Scheifler 
   Send bug reports to bug-clx at expo.lcs.mit.edu. 
   The 232 page manual is available in /pub/R5untarred/mit/hardcopy/CLX 
   (PostScript format) and /pub/R5untarred/mit/doc/CLX (Interleaf source).

   CLIM (Common Lisp Interface Manager) is a portable, graphical user
   interface toolkit originally developed by International Lisp
   Associates, Symbolics, and Xerox PARC, and now under joint development
   by several Lisp vendors, including Symbolics, Franz, Lucid, Illudium,
   and Harlequin.  It is intended to be a portable successor of Symbolics
   UIMS (Dynamic Windows, Presentations Types).  CLIM 2.0 also supports
   more traditional toolkit-style programming.  It runs on Symbolics Lisp
   Machines; Allegro, Lucid, and Harlequin on several Unix platforms;
   Symbolics CLOE on 386/486 IBM PCs running Windows; and MCL on Apple
   Macintoshes.  It is *not* free, and with the exception of
   Macintoshes, if it is available it can be purchased from the vendor
   of the Lisp system you are using.  For the Macintosh version write
   to Illudium: 
     Contact: Dennis Doughty - Doughty at ileaf.com
     or contact: Bill York - york at parc.xerox.com
   Illidium has signed a distribution agreement for MCL CLIM with
   Lucid. [Contact Harlequin for information about Lucid.]
   CLIM includes a general purpose grapher. The CLIM 2.0 SPECIFICATION
   is available by anonymous ftp from ftp.franz.com:/pub/clim/clim.ps.Z.
   To be added to the mailing list send mail to clim-request at bbn.com.

   CLUE (Common Lisp User-Interface Environment) is from TI, and extends CLX
   to provide a simple, object-oriented toolkit (like Xt) library that uses
   CLOS. Provides basic window classes, some stream I/O facilities, and a few
   other utilities. Still pretty low level (it's a toolkit, not widget
   library).  Available free by anonymous ftp from csc.ti.com:/pub/clue.tar.Z
   Written by Kerry Kimbrough. Send bug reports to clue-bugs at dsg.csc.ti.com.

   CLIO (Common Lisp Interactive Objects) is a GUI from the people who created
   CLUE. It provides a set of CLOS classes that represent the standard
   components of an object-oriented user interface -- such as text, menus,
   buttons, scroller, and dialogs.  It is included as part of the CLUE
   distribution, along with some packages that use it, both sample and real.

   Allegro Common Windows provides a front end to CLX. Uses CLOS.
   It is *not* free. Contact info at franz.com for more information.
   [Intellicorp's KEE4.0 comes with Common Windows also. They've
    implemented the CW spec to run on Lucid 4.0 on Sparcs, HP300/400s,
    HP700/800s, and IBM RS6000s. Contact tait at intellicorp.com for more

   The LispWorks Toolkit is an extensible CLOS-based widget set that uses
   CLX and CLUE. The LispWorks programming environment has been written
   using the toolkit and includes: an Emacs-like editor, listener,
   debugger, profiler, and operating system shell; browsers/graphers for
   classes, generic functions, processes, windows, files, compilation
   errors, source code systems, and setting LispWorks parameters; and an
   interactive interface builder and complete online hypertext
   documentation. Contact: lispworks-request at harlqn.co.uk

   CLM (Common Lisp Motif) and GINA (Generic Interactive Application) and
   IB (Interface Builder). CLM runs Motif widgets in a separate C
   process, with minimal work on the Lisp side and communicates between C
   and Lisp using TCP sockets. Runs in Allegro CL, Sun CL, CMU CL, Lucid
   CL, and Symbolics Genera. GINA uses CLOS.  Available free in the X
   contrib directory or by anonymous ftp from either
      ftp.x.org:/contrib (formerly export.lcs.mit.edu) or
      ftp.gmd.de:/gmd/gina [] 
   as the files CLM+GINA.README, CLM2.2.tar.Z and GINA2.2.tar.Z.  CLM was
   written by Andreas Baecker , GINA by Mike Spenke
   , and IB by Thomas Berlage .  
   Contact Mike Spenke for more info. To be added to the mailing list,
   send a message to gina-users-request at gmd.de.

   EW (Express Windows) is intended to mimic Symbolics' Dynamic Windows user
   and programmer interfaces. It is available free in the Common Lisp
   Repository as
   It is no longer under active development. Runs on Sun/Lucid, Franz
   Allegro, and Symbolics. Should port easily to other Lisps with CLX. 
   Written by Andrew L. Ressler .

   Garnet is a large and flexible GUI. Lots of high-level features.  Does
   *not* depend on CLOS, but does depend on CLX. Garnet (version 2.0 and
   after) is now in the public domain, and has no licensing restrictions,
   so it is available to all foreign sites and for commercial uses.
   Detailed instructions for obtaining it by anonymous ftp are available
   by anonymous ftp as
      a.gp.cs.cmu.edu:/usr/garnet/garnet/README [] 
   Garnet includes the Lapidiary interactive design tool, C32 constraint
   editor, spreadsheet object, Gilt Interface Builder, automatic display
   management, two widget sets (Motif look-and-feel and Garnet
   look-and-feel), support for gesture recognition, and automatic
   constraint maintenance, application data layout and PostScript
   generation. Runs in virtually any Common Lisp environment, including
   Allegro, Lucid, CMU, and Harlequin Common Lisps on Sun, DEC, HP,
   Apollo, IBM 6000, and many other machines.  Garnet helps implement
   highly-interactive, graphical, direct manipulation programs for X/11
   in Common Lisp.  Typical applications include: drawing programs
   similar to Macintosh MacDraw, user interfaces for expert systems and
   other AI applications, box and arrow diagram editors, graphical
   programming languages, game user interfaces, simulation and process
   monitoring programs, user interface construction tools, CAD/CAM
   programs, etc. Contact Brad Myers (bam at a.gp.cs.cmu.edu) for more
   information. Bug reports should be sent to garnet-bugs at cs.cmu.edu.
   Administrative questions should be sent to garnet at cs.cmu.edu or
   garnet-request at cs.cmu.edu. Garnet is discussed on the newsgroup
   comp.windows.garnet (which is gatewayed to garnet-users at cs.cmu.edu for
   those without access to netnews).

   LISP2WISH is a very simple demonstration of how to connect and
   communicate SYNCHRONOUSLY between a lisp process and a C process
   running a Tcl/Tk executable.  The demo uses the vanilla 'wish'
   executable that is included with the Tcl/Tk distribution.  Tcl/Tk is a
   very flexible system for building Graphical User Interfaces (GUIs),
   with the look-and-feel of Motif.  One writes scripts in a high-level,
   C-like language, and an interpreter evaluates the commands and passes
   execution either to a built-in function (and there are many), or to
   your own C routines.  Tcl/Tk is becoming increasingly popular because
   of its ease of use, and because it is freely distributable (even
   commercially, I believe).  For more information on Tcl/Tk, look on the
   USENET newsgroup comp.lang.tcl, or get the distribution from the
   archive (listed below) or ftp.cs.berkeley.edu.  The Tcl/Tk archive
   also has many user-contributed extensions which make Tcl/Tk even more
   desirable.  Tcl/Tk was originally written by Dr. John Ousterhout, at
   Berkeley.  LISP2WISH lets you make a window/menu/drawing interface for
   your lisp routines, where you can take advantage of all the stuff
   written for Tcl/Tk (and build your own!).
   LISP2WISH has only been tested under X-Windows and Lucid Common Lisp
   4.0 and 4.1, but should work on other platforms that support Lucid
   (or Allegro) and Tcl/Tk.  LISP2WISH is available at the Tcl/Tk archive
   from the author through the WWW at the URL
   by anonymous ftp from 
   or in the GUI section of the Lisp Repository as
   For more information, contact Jonathan Kaye .

   LispView is a GUI written at Sun that does not use CLX.  Instead it
   converts Xlib.h directly into Lucid foreign function calls. It is intended
   to be fast and tight. Uses CLOS.  Available for anonymous ftp from
      ftp.x.org:/contrib/lispview1.1 (formerly export.lcs.mit.edu) and
   Includes a general-purpose 2D grapher library.
   Written by Hans Muller (hmuller at sun.com). Runs in Sun CL and Lucid CL.
   Direct questions about the source provision to lispview at Eng.Sun.Com.
   WINTERP (Widget INTERPreter) is an application development environment
   developed at HP. It enables the rapid prototyping of graphical
   user-interfaces through direct manipulation of user interface objects
   and their attached actions.  WINTERP provides an interface to the X11
   toolkit (Xt) and the OSF/Motif widget set and a built-in RPC mechanism
   for inter-application communication.  It includes an object-oriented
   2.5D graphics and animation widget based on the Xtango path transition
   animation system, the XmGraph graph browser (with graph nodes as
   arbitrary WINTERP widgets), and GIF image support.  The interpreter is
   based on David Betz's XLISP interpreter, which implements a small
   subset of Common Lisp and runs on PCs, IBM RS/6000, Decstation 3100s, 
   HP9000s, Sun3, Sparcs, SGI, and NeXT.  XLISP provides a simple 
   Smalltalk-like object system, with OSF/Motif widgets as real XLISP
   objects -- they can be specialized via subclassing, methods added
   or altered, etc. WINTERP includes an interface to GNU-Emacs which
   allows code to be developed and tested without leaving the editor.
   WINTERP is a free-standing Lisp-based tool for setting up window
   applications. WINTERP is available free in X contrib directory, or
   by anonymous ftp from
   as winterp-???.tar.gz (formerly export.lcs.mit.edu) where ??? is the
   version number. The current version is 2.03 (X11r6 support).  If you
   do not have Internet access you may request the source code to be
   mailed to you by sending a message to winterp-source at netcom.com.
   The WWW home page for WINTERP is accessible via the URL
   or mirrored on
   Contact Niels Mayer  for more information. To be
   added to the mailing list, send mail to winterp-request at netcom.com.

   Xgcl provides an interface to X Windows for GCL (GNU Common Lisp),
   formerly Austin Kyoto Common Lisp (AKCL). It includes a low-level
   interface to the Xlib routines, and an interface that provides
   graphics, menus, and mouse interaction via functions that are called
   from Lisp. Xgcl is built on top of GCL, and it is somewhat larger
   (e.g. 6.7 MB for Xgcl vs. 4.9 MB for GCL) because it incorporates
   Xlib.  To make Xgcl, you must first obtain and make GCL.  The code
   was written by Gordon Novak, Hiep Nguyen, and William Schelter. Xgcl
   is available by anonymous FTP from
   and on the Web from
   as the file xgcl-2.tgz. To use, put the xgcl-2.tgz file in the same
   directory as gcl-1.1.tgz and uncompress it with
       gzip -dc xgcl-2.tgz | tar xvf -
   Then see the README in the directory xgcl-2. For more information,
   write to Gordon Shaw Novak, Jr. .

   YYonX is a port of the YY system to X windows. Runs in Lucid CL, Allegro
   CL, and Symbolics Genera. Supports kanjii.  Developed at Aoyama Gakuin
   University. Available free by anonymous ftp from 
   Written by Masayuki Ida 

   Picasso is a CLOS based GUI, and is available from
   It runs on DecStation 3100s, Sun3 (SunOs), Sun4 (Sparc), and Sequent
   Symmetry in Allegro CL. The file pub/xcl.tar.Z contains X-Common Lisp
   interface routines. Send mail to picasso at postgres.berkeley.edu for
   more information. [Picasso is no longer an actively supported system.]

   XIT (X User Interface Toolkit) is an object-oriented user interface
   development environment for the X Window System based on Common Lisp,
   CLOS, CLX, and CLUE.  It has been developed by the Research Group
   DRUID at the Department of Computer Science of the University of
   Stuttgart (druid at informatik.uni-stuttgart.de) as a framework for
   Common Lisp/CLOS applications with graphical user interfaces for the X
   Window System.  XIT contains user interface toolkits, including
   general building blocks and mechanisms for building arbitrary user
   interface elements and a set of predefined common elements (widgets),
   as well as high-level interactive tools for constructing, inspecting,
   and modifying user interfaces by means of direct manipulation.
   Although the system kernel is quite stable, XIT is still under active
   development.  XIT can be obtained free by anonymous ftp from
   ftp.informatik.uni-stuttgart.de:/pub/xit/ []

------------- End Included Message -------------

More information about the Squeak-dev mailing list