[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: GUI's for CommonLisp
>Brad Myers of CMU did a "Survey of User Interface Tools in Lisp" for the
>1991 Lisp Users And Vendors Conference. 12 were covered, with a one
>page summary of each in standard format and then a one page flier from
>the developer. Perhaps the summaries are in electronic form somewhere.
I only have descriptions in hardcopy, but the "Frequently Asked
Questions" (FAQ) file of the comp.lang.lisp mailing list has a nice
summary which answers this question. It is excerpted below.
Brad A. Myers
School of Computer Science
Carnegie Mellon University
5000 Forbes Avenue
Pittsburgh, PA 15213-3890
FAX: (412) 681-5739
P.S. Does anyone know if there is a CLX document for X11/R5? All I
have is the R3 version (1989) with a few patches for R4 and nothing
for R5. Are there CLX extensions that address scalable fonts, PEX,
reading and writing PIXMAPS (instead of bitmaps), etc.?
P.P.S. Why are bug-clx and cl-windows so dead?
>From crabapple.srv.cs.cmu.edu!mkant Wed May 20 09:34:59 EDT 1992
Last-Modified: Tue May 12 19:44:30 1992 by Mark Kantrowitz
;;; Answers to Frequently Asked Questions about Lisp ***************
;;; Written by Mark Kantrowitz and Barry Margolin
;;; lisp-faq-2.text -- 52989 bytes
This post contains Part 2 of the Lisp FAQ.
If you think of questions that are appropriate for this FAQ, or would
like to improve an answer, please send email to us at firstname.lastname@example.org.
Topics Covered (Part 2):
[2-0] What FTP resources are available?
[2-1] Is there a GNU-Emacs interface to Lisp?
[2-2] How can I use the X Window System from Lisp?
[2-3] When is it right to use EVAL?
[2-4] What is the equivalent of EXPLODE and IMPLODE in Common Lisp?
[2-5] Is Lisp inherently slower than more conventional languages such as C?
[2-6] Why does my program's behavior change each time I use it?
[2-7] Why does Common Lisp have "#'"?
[2-8] How do I call non-Lisp functions from Lisp?
[2-9] Can I call Lisp functions from other languages?
[2-10] I want to call a function in a package that might not exist at
compile time. How do I do this?
[2-11] What is CDR-coding?
[2-12] What is garbage collection?
[2-13] How do I save an executable image of my loaded Lisp system?
How do I run a Unix command in my Lisp?
How do I get the current directory name from within a Lisp program?
[2-14] I'm porting some code from a Symbolics Lisp machine to some
other platform, and there are strange characters in the code.
What do they mean?
[2-15] History: Where did Lisp come from?
Search for [#] to get to question number # quickly.
[2-2] How can I use the X Window System 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-2].
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 form
export.lcs.mit.edu:/contrib as the files CLX.Manual.tar.Z, CLX.R4.5.tar.Z
and CLX.R5.tar.Z Primary Interface Author: Robert W. Scheifler
<email@example.com> Send bug reports to firstname.lastname@example.org.
CLIM (Common Lisp Interface Manager) is a GUI originally developed by
Symbolics and International Lisp Associates, and now under joint
development by several Lisp vendors, including Symbolics, Apple, Franz,
Harlequin and Lucid. It is intended to be a portable analogue of Symbolics
UIMS (Dynamic Windows, Presentations Types). It runs on Symbolics Lisp
Machines; Allegro and Lucid 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 the ILA:
International Lisp Associates, 114 Mt. Auburn St.,
Cambridge, MA 02138, 617-576-1151
Contact: Dennis Doughty - Doughty@ILA.com
International Lisp Associates, 898 Windmill Park Road,
Mountain View, CA 94043, 1-800-477-CLIM
Contact: Bill York - York@ILA.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 email@example.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 firstname.lastname@example.org for more information.
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: email@example.com
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, and Symbolics Genera. GINA uses CLOS.
Available free in the X contrib directory or by anonymous ftp from either
export.lcs.mit.edu:/contrib or ftp.gmd.de:/gmd/gina [220.127.116.11] as the
files CLM+GINA.README, CLM2.1.tar.Z and GINA2.1.tar.Z. CLM was written by
Andreas Baecker <firstname.lastname@example.org>, GINA by Mike Spenke
<email@example.com>, and IB by Thomas Berlage <firstname.lastname@example.org>.
Contact Mike Spenke for more info.
EW (Express Windows) is intended to mimic Symbolics' Dynamic Windows user
and programmer interfaces. It is available free in the ew/ subdirectory of
the Lisp Utilities repository. 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 <email@example.com>.
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 from a.gp.cs.cmu.edu [18.104.22.168] as the file
/usr/garnet/garnet/README. Garnet includes the Lapidiary interactive
design tool, 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 (firstname.lastname@example.org)
for more information. Bug reports and administrative questions:
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
Written by Hans Muller (email@example.com). Runs in Sun CL and Lucid CL.
Direct questions about the source provision to lispview@Eng.Sun.Com.
WINTERP (Widget INTERPreter) was developed at HP and uses the Xtoolkit and
Motif widget set. It is based on David Betz's XLISP interpreter, which is a
small subset of Common Lisp that runs on IBM PCs. Runs on DecStation 3100,
HP9000s, Sun3, Sparcs. It is a free-standing Lisp-based tool for setting
up window applications. Available free in X contrib directory, or by
anonymous ftp from export.lcs.mit.edu:contrib/winterp-???.tar.Z where ???
is the version number. If you do not have Internet access you may request
the source code to be mailed to you by sending a message to
firstname.lastname@example.org or hplabs!hplnpm!winterp-source.
Contact Niels Mayer email@example.com for more information.
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 ftp.csrl.aoyama.ac.jp:YY/
Written by Masayuki Ida <firstname.lastname@example.org>
Picasso is a CLOS based GUI, and is available from
postgres.berkeley.edu:/pub/Picasso-2.0 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
email@example.com for more information.