home *** CD-ROM | disk | FTP | other *** search
/ Danny Amor's Online Library / Danny Amor's Online Library - Volume 1.iso / html / faqs / faq / lisp-faq / part7 < prev   
Encoding:
Text File  |  1995-07-25  |  15.3 KB  |  275 lines

  1. Subject: FAQ: Lisp Window Systems and GUIs 7/7 [Monthly posting]
  2. Newsgroups: comp.lang.lisp,news.answers,comp.answers
  3. From: mkant+@cs.cmu.edu (Mark Kantrowitz)
  4. Date: 13 Nov 1994 08:02:38 GMT
  5.  
  6. Archive-name: lisp-faq/part7
  7. Last-Modified: Wed Oct 12 22:16:04 1994 by Mark Kantrowitz
  8. Version: 1.50
  9. Maintainer: Mark Kantrowitz and Barry Margolin <ai+lisp-faq@cs.cmu.edu>
  10. URL: http://www.cs.cmu.edu:8001/Web/Groups/AI/html/faqs/lang/lisp/top.html
  11. Size: 15804 bytes, 276 lines
  12.  
  13. ;;; ****************************************************************
  14. ;;; Lisp Window Systems and GUIs ***********************************
  15. ;;; ****************************************************************
  16. ;;; Written by Mark Kantrowitz and Barry Margolin
  17. ;;; lisp_7.faq 
  18.  
  19. This post contains Part 7 of the Lisp FAQ.
  20.  
  21. If you think of questions that are appropriate for this FAQ, or would
  22. like to improve an answer, please send email to us at ai+lisp-faq@cs.cmu.edu.
  23.  
  24. Topics Covered (Part 7):
  25.  
  26.   [7-1] How can I use the X Window System or other GUIs from Lisp?
  27.   [7-2] What Graphers/Browsers are available?
  28.  
  29. Search for \[#\] to get to question number # quickly.
  30.  
  31. ----------------------------------------------------------------
  32. Subject: [7-1] How can I use the X Window System or other GUIs from Lisp?
  33.  
  34. There are several GUI's and Lisp interfaces to the X Window System. Mailing
  35. lists for these systems are listed in the answer to question [4-7].
  36. Various vendors also offer their own interface-building packages.
  37.  
  38.    CLX provides basic Common Lisp/X functionality. It is a de facto standard
  39.    low-level interface to X, providing equivalent functionality to XLib, but
  40.    in Lisp. It is also a good source for comparing the foreign function calls
  41.    in various Lisps. Does *not* depend on CLOS.  Available free as part of the
  42.    X release in the contrib directory.  Also available by anonymous ftp from
  43.    ftp.x.org:/contrib/ as the files CLX.Manual.tar.Z and CLX.R5.02.tar.Z. 
  44.    [Note: The new version of CLX for X11R6 can be found (untarred) in
  45.    ftp.x.org:/pub/R6untarred/contrib/lib/CLX/ and includes some slight
  46.    modifications for CLtL2 compatability. You can get it in tarred form
  47.    from the CMU AI Repository, Lisp section.]
  48.    Primary Interface Author: Robert W. Scheifler <rws@zermatt.lcs.mit.edu>
  49.    Send bug reports to bug-clx@expo.lcs.mit.edu. 
  50.    The 232 page manual is available in /pub/R5untarred/mit/hardcopy/CLX 
  51.    (PostScript format) and /pub/R5untarred/mit/doc/CLX (Interleaf source).
  52.  
  53.    CLIM (Common Lisp Interface Manager) is a portable, graphical user
  54.    interface toolkit originally developed by International Lisp
  55.    Associates, Symbolics, and Xerox PARC, and now under joint development
  56.    by several Lisp vendors, including Symbolics, Franz, Lucid, Illudium,
  57.    and Harlequin.  It is intended to be a portable successor of Symbolics
  58.    UIMS (Dynamic Windows, Presentations Types).  CLIM 2.0 also supports
  59.    more traditional toolkit-style programming.  It runs on Symbolics Lisp
  60.    Machines; Allegro, Lucid, and Harlequin on several Unix platforms;
  61.    Symbolics CLOE on 386/486 IBM PCs running Windows; and MCL on Apple
  62.    Macintoshes.  It is *not* free, and with the exception of
  63.    Macintoshes, if it is available it can be purchased from the vendor
  64.    of the Lisp system you are using.  For the Macintosh version write
  65.    to Illudium: 
  66.      Contact: Dennis Doughty - Doughty@ileaf.com
  67.      or contact: Bill York - York@lucid.com
  68.    Illidium has signed a distribution agreement for MCL CLIM with
  69.    Lucid, so you can also get it from Lucid at sales@lucid.com,
  70.    415-329-8400. (Lucid also has a license to distribute MCL itself.)
  71.    CLIM includes a general purpose grapher. The CLIM 2.0 SPECIFICATION
  72.    is available by anonymous ftp from ftp.uu.net:/vendor/franz/clim/clim.ps.Z.
  73.    To be added to the mailing list send mail to clim-request@bbn.com.
  74.  
  75.    CLUE (Common Lisp User-Interface Environment) is from TI, and extends CLX
  76.    to provide a simple, object-oriented toolkit (like Xt) library that uses
  77.    CLOS. Provides basic window classes, some stream I/O facilities, and a few
  78.    other utilities. Still pretty low level (it's a toolkit, not widget
  79.    library).  Available free by anonymous ftp from csc.ti.com:/pub/clue.tar.Z
  80.    Written by Kerry Kimbrough. Send bug reports to clue-bugs@dsg.csc.ti.com.
  81.  
  82.    CLIO (Common Lisp Interactive Objects) is a GUI from the people who created
  83.    CLUE. It provides a set of CLOS classes that represent the standard
  84.    components of an object-oriented user interface -- such as text, menus,
  85.    buttons, scroller, and dialogs.  It is included as part of the CLUE
  86.    distribution, along with some packages that use it, both sample and real.
  87.  
  88.    Allegro Common Windows provides a front end to CLX. Uses CLOS.
  89.    It is *not* free. Contact info@franz.com for more information.
  90.    [Intellicorp's KEE4.0 comes with Common Windows also. They've
  91.     implemented the CW spec to run on Lucid 4.0 on Sparcs, HP300/400s,
  92.     HP700/800s, and IBM RS6000s. Contact tait@intellicorp.com for more
  93.     information.]
  94.  
  95.    The LispWorks Toolkit is an extensible CLOS-based widget set that uses
  96.    CLX and CLUE. The LispWorks programming environment has been written
  97.    using the toolkit and includes: an Emacs-like editor, listener,
  98.    debugger, profiler, and operating system shell; browsers/graphers for
  99.    classes, generic functions, processes, windows, files, compilation
  100.    errors, source code systems, and setting LispWorks parameters; and an
  101.    interactive interface builder and complete online hypertext
  102.    documentation. Contact: lispworks-request@harlqn.co.uk
  103.  
  104.    CLM (Common Lisp Motif) and GINA (Generic Interactive Application) and
  105.    IB (Interface Builder). CLM runs Motif widgets in a separate C
  106.    process, with minimal work on the Lisp side and communicates between C
  107.    and Lisp using TCP sockets. Runs in Allegro CL, Sun CL, CMU CL, Lucid
  108.    CL, and Symbolics Genera. GINA uses CLOS.  Available free in the X
  109.    contrib directory or by anonymous ftp from either
  110.       ftp.x.org:/contrib (formerly export.lcs.mit.edu) or
  111.       ftp.gmd.de:/gmd/gina [129.26.8.84] 
  112.    as the files CLM+GINA.README, CLM2.2.tar.Z and GINA2.2.tar.Z.  CLM was
  113.    written by Andreas Baecker <baecker@gmd.de>, GINA by Mike Spenke
  114.    <spenke@gmd.de>, and IB by Thomas Berlage <berlage@gmd.de>.  
  115.    Contact Mike Spenke for more info. To be added to the mailing list,
  116.    send a message to gina-users-request@gmd.de.
  117.  
  118.    EW (Express Windows) is intended to mimic Symbolics' Dynamic Windows user
  119.    and programmer interfaces. It is available free in the Common Lisp
  120.    Repository as
  121.       ftp.cs.cmu.edu:/user/ai/lang/lisp/gui/ew/
  122.    It is no longer under active development. Runs on Sun/Lucid, Franz
  123.    Allegro, and Symbolics. Should port easily to other Lisps with CLX. 
  124.    Written by Andrew L. Ressler <aressler@oiscola.columbia.ncr.com>.
  125.  
  126.    Garnet is a large and flexible GUI. Lots of high-level features.  Does
  127.    *not* depend on CLOS, but does depend on CLX. Garnet (version 2.0 and
  128.    after) is now in the public domain, and has no licensing restrictions,
  129.    so it is available to all foreign sites and for commercial uses.
  130.    Detailed instructions for obtaining it by anonymous ftp are available
  131.    by anonymous ftp as
  132.       a.gp.cs.cmu.edu:/usr/garnet/garnet/README [128.2.242.7] 
  133.    Garnet includes the Lapidiary interactive design tool, C32 constraint
  134.    editor, spreadsheet object, Gilt Interface Builder, automatic display
  135.    management, two widget sets (Motif look-and-feel and Garnet
  136.    look-and-feel), support for gesture recognition, and automatic
  137.    constraint maintenance, application data layout and PostScript
  138.    generation. Runs in virtually any Common Lisp environment, including
  139.    Allegro, Lucid, CMU, and Harlequin Common Lisps on Sun, DEC, HP,
  140.    Apollo, IBM 6000, and many other machines.  Garnet helps implement
  141.    highly-interactive, graphical, direct manipulation programs for X/11
  142.    in Common Lisp.  Typical applications include: drawing programs
  143.    similar to Macintosh MacDraw, user interfaces for expert systems and
  144.    other AI applications, box and arrow diagram editors, graphical
  145.    programming languages, game user interfaces, simulation and process
  146.    monitoring programs, user interface construction tools, CAD/CAM
  147.    programs, etc. Contact Brad Myers (bam@a.gp.cs.cmu.edu) for more
  148.    information. Bug reports should be sent to garnet-bugs@cs.cmu.edu.
  149.    Administrative questions should be sent to garnet@cs.cmu.edu or
  150.    garnet-request@cs.cmu.edu. Garnet is discussed on the newsgroup
  151.    comp.windows.garnet (which is gatewayed to garnet-users@cs.cmu.edu for
  152.    those without access to netnews).
  153.  
  154.    LISP2WISH is a very simple demonstration of how to connect and
  155.    communicate SYNCHRONOUSLY between a lisp process and a C process
  156.    running a Tcl/Tk executable.  The demo uses the vanilla 'wish'
  157.    executable that is included with the Tcl/Tk distribution.  Tcl/Tk is a
  158.    very flexible system for building Graphical User Interfaces (GUIs),
  159.    with the look-and-feel of Motif.  One writes scripts in a high-level,
  160.    C-like language, and an interpreter evaluates the commands and passes
  161.    execution either to a built-in function (and there are many), or to
  162.    your own C routines.  Tcl/Tk is becoming increasingly popular because
  163.    of its ease of use, and because it is freely distributable (even
  164.    commercially, I believe).  For more information on Tcl/Tk, look on the
  165.    USENET newsgroup comp.lang.tcl, or get the distribution from the
  166.    archive (listed below) or ftp.cs.berkeley.edu.  The Tcl/Tk archive
  167.    also has many user-contributed extensions which make Tcl/Tk even more
  168.    desirable.  Tcl/Tk was originally written by Dr. John Ousterhout, at
  169.    Berkeley.  LISP2WISH lets you make a window/menu/drawing interface for
  170.    your lisp routines, where you can take advantage of all the stuff
  171.    written for Tcl/Tk (and build your own!).
  172.    LISP2WISH has only been tested under X-Windows and Lucid Common Lisp
  173.    4.0 and 4.1, but should work on other platforms that support Lucid
  174.    (or Allegro) and Tcl/Tk.  LISP2WISH is available at the Tcl/Tk archive
  175.       harbor.ecn.purdue.edu:/pub/tcl/lisp2wish6.tar.gz,
  176.    from the author through the WWW at the URL
  177.       http://www.cis.upenn.edu/~kaye/home.html
  178.    by anonymous ftp from 
  179.       ftp.cis.upenn.edu:/pub/kaye/lisp2wish6.tar.Z
  180.    or in the GUI section of the Lisp Repository as
  181.       ftp.cs.cmu.edu:/user/ai/lang/lisp/gui/lsp2wish/lsp2wish.tgz
  182.    For more information, contact Jonathan Kaye <kaye@linc.cis.upenn.edu>.
  183.  
  184.    LispView is a GUI written at Sun that does not use CLX.  Instead it
  185.    converts Xlib.h directly into Lucid foreign function calls. It is intended
  186.    to be fast and tight. Uses CLOS.  Available for anonymous ftp from
  187.       ftp.x.org:/contrib/lispview1.1 (formerly export.lcs.mit.edu) and
  188.       xview.ucdavis.edu:/pub/XView/LispView1.1 
  189.    Includes a general-purpose 2D grapher library.
  190.    Written by Hans Muller (hmuller@sun.com). Runs in Sun CL and Lucid CL.
  191.    Direct questions about the source provision to lispview@Eng.Sun.Com.
  192.    
  193.    WINTERP (Widget INTERPreter) is an application development environment
  194.    developed at HP. It enables the rapid prototyping of graphical
  195.    user-interfaces through direct manipulation of user interface objects
  196.    and their attached actions.  WINTERP provides an interface to the X11
  197.    toolkit (Xt) and the OSF/Motif widget set and a built-in RPC mechanism
  198.    for inter-application communication.  It includes an object-oriented
  199.    2.5D graphics and animation widget based on the Xtango path transition
  200.    animation system, the XmGraph graph browser (with graph nodes as
  201.    arbitrary WINTERP widgets), and GIF image support.  The interpreter is
  202.    based on David Betz's XLISP interpreter, which implements a small
  203.    subset of Common Lisp and runs on PCs, IBM RS/6000, Decstation 3100s, 
  204.    HP9000s, Sun3, Sparcs, SGI, and NeXT.  XLISP provides a simple 
  205.    Smalltalk-like object system, with OSF/Motif widgets as real XLISP
  206.    objects -- they can be specialized via subclassing, methods added
  207.    or altered, etc. WINTERP includes an interface to GNU-Emacs which
  208.    allows code to be developed and tested without leaving the editor.
  209.    WINTERP is a free-standing Lisp-based tool for setting up window
  210.    applications. WINTERP is available free in X contrib directory, or
  211.    by anonymous ftp from
  212.       ftp.x.org:/contrib/devel_tools/
  213.    as winterp-???.tar.gz (formerly export.lcs.mit.edu) where ??? is the
  214.    version number. The current version is 2.03 (X11r6 support).  If you
  215.    do not have Internet access you may request the source code to be
  216.    mailed to you by sending a message to winterp-source@netcom.com.
  217.    The WWW home page for WINTERP is accessible via the URL
  218.        http://www.eit.com/software/winterp/winterp.html
  219.    or mirrored on
  220.        file://ftp.x.org/contrib/devel_tools/winterp.html
  221.    Contact Niels Mayer <mayer@netcom.com> for more information. To be
  222.    added to the mailing list, send mail to winterp-request@netcom.com.
  223.  
  224.    YYonX is a port of the YY system to X windows. Runs in Lucid CL, Allegro
  225.    CL, and Symbolics Genera. Supports kanjii.  Developed at Aoyama Gakuin
  226.    University. Available free by anonymous ftp from 
  227.       ftp.csrl.aoyama.ac.jp:/YY/
  228.    Written by Masayuki Ida <ida@cc.aoyama.ac.jp>
  229.  
  230.    Picasso is a CLOS based GUI, and is available from
  231.       postgres.berkeley.edu:/pub/Picasso-2.0 
  232.       toe.cs.berkeley.edu:/pub/picasso/ 
  233.    It runs on DecStation 3100s, Sun3 (SunOs), Sun4 (Sparc), and Sequent
  234.    Symmetry in Allegro CL. The file pub/xcl.tar.Z contains X-Common Lisp
  235.    interface routines. Send mail to picasso@postgres.berkeley.edu for
  236.    more information. [Picasso is no longer an actively supported system.]
  237.  
  238.    XIT (X User Interface Toolkit) is an object-oriented user interface
  239.    development environment for the X Window System based on Common Lisp,
  240.    CLOS, CLX, and CLUE.  It has been developed by the Research Group
  241.    DRUID at the Department of Computer Science of the University of
  242.    Stuttgart (druid@informatik.uni-stuttgart.de) as a framework for
  243.    Common Lisp/CLOS applications with graphical user interfaces for the X
  244.    Window System.  XIT contains user interface toolkits, including
  245.    general building blocks and mechanisms for building arbitrary user
  246.    interface elements and a set of predefined common elements (widgets),
  247.    as well as high-level interactive tools for constructing, inspecting,
  248.    and modifying user interfaces by means of direct manipulation.
  249.    Although the system kernel is quite stable, XIT is still under active
  250.    development.  XIT can be obtained free by anonymous ftp from
  251.    ftp.informatik.uni-stuttgart.de:/pub/xit/ [129.69.211.2]
  252.  
  253. ----------------------------------------------------------------
  254. Subject: [7-2] What Graphers/Browsers are available?
  255.  
  256. Most of the graphics toolkits listed above include graphers. In
  257. particular, CLIM, Lispworks, Garnet, and Lispview all include
  258. graphers. The ISI grapher used to be in fairly widely used, but the
  259. CLIM grapher seems to be overtaking it in popularity.
  260.  
  261. A simple grapher like the one described in "Lisp Lore" by Bromeley and
  262. Lamson is available by anonymous ftp from
  263.    ftp.csrl.aoyama.ac.jp:/graphers/ 
  264. as the file graphers.tar.Z.uu. It includes versions for CLX, Express
  265. Windows, NCW, CLUE, CLM/GINA, Common Windows, LispView, Winterp, CLIM
  266. and YY. Several implementations have a mouse sensitivity feature and
  267. others have implementation-specific features.  A copy has been made
  268. available from the Lisp Utilities Repository. For further information,
  269. contact Masayuki Ida <ida@csrl.aoyama.ac.jp>.
  270.  
  271. ----------------------------------------------------------------
  272. ;;; *EOF*
  273.  
  274.  
  275.