home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 2 / Apprentice-Release2.iso / Information / Languages / Lisp / lisp-faq⁄part7 < prev   
Encoding:
Internet Message Format  |  1994-12-08  |  16.0 KB  |  [TEXT/R*ch]

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