home *** CD-ROM | disk | FTP | other *** search
- Path: senator-bedfellow.mit.edu!bloom-beacon.mit.edu!gatech!csulb.edu!news.sgi.com!howland.erols.net!newsfeed.internetmci.com!in3.uu.net!newsfeed.pitt.edu!bb3.andrew.cmu.edu!cantaloupe.srv.cs.cmu.edu!bam
- From: bam@cs.cmu.edu (Brad Myers)
- Newsgroups: comp.windows.garnet,comp.lang.lisp,comp.lang.lisp.mcl,comp.answers,news.answers
- Subject: Garnet Toolkit Frequently Asked Questions
- Followup-To: comp.windows.garnet
- Date: 4 Oct 1996 14:24:40 GMT
- Organization: School of Computer Science, Carnegie Mellon
- Lines: 338
- Approved: news-answers-request@MIT.EDU
- Message-ID: <5336n8$ivq@cantaloupe.srv.cs.cmu.edu>
- NNTP-Posting-Host: amulet1.amulet.cs.cmu.edu
- Xref: senator-bedfellow.mit.edu comp.windows.garnet:1164 comp.lang.lisp:22809 comp.lang.lisp.mcl:9206 comp.answers:21563 news.answers:83540
-
- Archive-name: garnet-faq
- Last-modified: October 4, 1996 -- BAM
- Posting-Frequency: occassionally
-
- -*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-
-
- Frequently Asked Questions (FAQ) about Garnet.
-
- This file is stored as:
- ftp://a.gp.cs.cmu.edu/usr/garnet/garnet/FAQ
-
- ------------------------------------------------------------------------
- The following questions about Garnet are answered below:
-
- [1] What Is Garnet?
- [2] How do I get Garnet?
- [3] Does Garnet run on a Macintosh or a PC?
- [4] Which forms of Lisp does Garnet work in?
- [5] What hardware does Garnet run on?
- [6] How do I get CMU CL (a free, public domain lisp)?
- [7] How do I get MCL (Macintosh Common Lisp)?
- [8] I am having trouble getting CLX to work...
- [9] Why doesn't Garnet use CLOS?
- [10] When will there be a C or C++ version of Garnet?
- [11] What will happen to the Lisp version?
- [12] Why the change to C++?
- [13] What do all the acronyms stand for?
- [14] How can I learn more about Garnet?
-
- ------------------------------------------------------------------------
- [1] What Is Garnet?
-
- Garnet is a user interface development environment for Common Lisp and
- X11 or Macintosh developed by the User Interface Software Group in the
- Human-Computer Interaction Institute at Carnegie Mellon University.
- Garnet helps you create graphical, interactive user interfaces for
- your software. It is a large scale system containing many
- features and parts.
-
- * Toolkit intrinsics:
- - A custom object-oriented programming system which uses a
- prototype-instance model.
- - A graphics layer that hides the differences between X/11 and Macintosh.
- - Automatic constraint maintenance: so properties of objects can depend on
- properties of other objects, and be automatically re-evaluated
- when the other objects change. The constraints can be
- arbitrary lisp expressions.
- - Built-in, high-level input event handling.
- - Support for gesture recognition
- - Widgets for multi-font, multi-line, mouse-driven text editing.
- - Optional automatic layout of application data into lists, tables, trees,
- or graphs.
- - Automatic generation of PostScript for printing.
- - Support for large-scale applications and data visualization.
- * Two complete widget sets:
- - One with a Motif look and feel implemented in Lisp, and one with
- a custom look and feel.
- * Interactive design tools for creating parts of the interface without
- writing code:
- - Gilt interface builder for creating dialog boxes
- - Lapidary interactive tool for creating new widgets and for
- drawing application-specific objects.
- - C32 spreadsheet system for specifying complex constraints.
- (The next parts are not being released.)
- - Jade automatic dialog box creation system.
- - Marquise interactive tool for specifying behaviors.
-
- ------------------------------------------------------------------------
- [2] How do I get Garnet?
-
- Garnet is available for free by anonymous FTP. There is currently
- only one site from which it is available. To retrieve Garnet, ftp to
- a.gp.cs.cmu.edu (128.2.242.7). When asked to log in, use "anonymous", and
- your name as the password. Then change to the garnet directory (note the
- double garnet's) and get the README explanation file:
- ftp> cd /usr/garnet/garnet/
- ftp> get README
-
- Now, follow the directions in the README file.
-
- ** If you are using the Macintosh, then please get the Garnet3.0r1.*
- ** versions of the files, which were fixed for the new version of MCL by
- ** Russell Almond.
-
- There are no restrictions on your use or redistribution of Garnet.
-
- NOTE: If you are reading this FAQ from Mosaic or another WWW client,
- you can get the README file and perform the ftp operations by
- selecting "Garnet FTP directory" off of the Garnet Home Page
- http://www.cs.cmu.edu/~garnet -- under the Garnet Information menu.
-
- ------------------------------------------------------------------------
- [3] Does Garnet run on a Macintosh or a PC?
-
- The latest version of Garnet (V3.0) runs on the Macintosh. Programs
- written on either the Unix or Macintosh version should run pretty much
- without change on both kinds of computers. However, we do not have
- Macintosh-look-and-feel widget set, so applications on the Macintosh
- will still have to use either the Garnet or Motif look-and-feel
- widgets.
-
- There are no plans for a PC version of Garnet (but see the answer to
- question [10] below).
-
- The object and constraint system of Garnet, called KR, will work by
- itself on other systems, since it only uses straight CommonLisp and no
- window manager. You can FTP just the KR part and the KR manual from
- the standard Garnet distribution (see question [2]).
-
- ** If you are using the Macintosh, then please get the Garnet3.0r1.*
- ** versions of the files, which were fixed for the new version of MCL by
- ** Russell Almond.
-
- ------------------------------------------------------------------------
- [4] Which forms of Lisp does Garnet work in?
-
- On the Macintosh, we know Garnet works on MCL Version 2.0.1. On Unix,
- Garnet runs on every Lisp that we have come across which has CLX
- (interface to X11), which currently includes Allegro, Lucid, CMU,
- Harlequin Lispworks, AKCL, CLISP and TI Explorer Lisps. It appears
- that AKCL and CLISP are quite slow.
-
- ------------------------------------------------------------------------
- [5] What hardware does Garnet run on?
-
- Garnet runs on the Macintosh, or on any machine that has X11 and
- Common Lisp implementations. This is pretty much any workstation
- class machine, including Sun, DEC, HP, Apollo, IBM 6000, Silicon
- Graphics, etc.
-
- ------------------------------------------------------------------------
- [6] How do I get CMU CL?
-
- CMU CL is a free, high-quality implementation of full Common Lisp
- which works on Suns and other hardware. CMU Common Lisp is a separate
- project unrelated to Garnet. Garnet does work in CMU CL, and the
- following information is from the standard CMU CL FAQ:
-
- CMU Common Lisp is free, and runs on Sparcs (Mach and SunOs),
- DecStation 3100 (Mach), IBM RT (Mach) and requires 16mb RAM, 25mb
- disk. It includes an incremental compiler, Hemlock emacs-style editor,
- source-code level debugger, code profiler and is mostly X3J13
- compatible, including the new loop macro. It is available by anonymous
- ftp from any CMU CS machine, such as ftp.cs.cmu.edu [128.2.206.173], in the
- directory /afs/cs.cmu.edu/project/clisp/release. Login with username
- "anonymous" and "userid@host" (your email address) as password. Due to
- security restrictions on anonymous ftps (some of the superior
- directories on the path are protected against outside access), it is
- important to "cd" to the source directory with a single command.
- Don't forget to put the ftp into binary mode before using "get" to
- obtain the compressed/tarred files. The binary releases are
- contained in files of the form
- <version>-<machine>_<os>.tar.Z
- Other files in this directory of possible interest are
- *-source.tar.Z, which contains all the ".lisp" source files
- used to build the various versions. Use "dir" or "ls" to see what is
- available. Bug reports should be sent to cmucl-bugs@cs.cmu.edu.
-
- Please do not send CMU CL questions to the Garnet group: use
- cmucl-bugs@cs.cmu.edu instead.
-
- ------------------------------------------------------------------------
- [7] How do I get MCL (Macintosh Common Lisp)?
-
- Macintosh Common Lisp is actively supported and developed by Digitool.
- Their web site is at http://www.digitool.com/ . Discussions about MCL
- are at news:comp.lang.lisp.mcl . Digitool also has an FTP site with
- patches and contributed code at ftp://ftp.digitool.com:/pub/mcl/ .
-
- ------------------------------------------------------------------------
- [8] I am having trouble getting CLX to work...
-
- CLX should be supplied with every Common Lisp for Unix. If you have
- trouble with CLX, please contact your Lisp vendor. We can't help you.
-
- ------------------------------------------------------------------------
- [9] Why doesn't Garnet use CLOS?
-
- CLOS is the standard Common Lisp Object System, and Garnet uses a
- custom object system (called KR) instead. There are a number of
- reasons for this.
-
- The main reason is that Garnet uses a prototype-instance model, rather
- than the conventional class-instance model supported by CLOS. We have
- found the prototype model to be more effective for user interface
- prototyping and construction. A second reason is performance: it
- appears that KR is more efficient than CLOS for most standard
- operations. Since we have control of KR, we can also optimize the
- performance of constraint satisfaction, which would require extra
- overhead in CLOS.
-
- ------------------------------------------------------------------------
- [10] When will there be a C or C++ version of Garnet?
-
- The same group that developed Garnet, the User Interface Software
- group at CMU, is now developing a C++ tool instead. It is very
- similar to Garnet, and uses much of the same style of programming.
- The C++ version is called Amulet, and more information is available at
- http://www.cs.cmu.edu/~amulet
- or mail to amulet@cs.cmu.edu. Amulet has been released for general
- use, and there are projects all over the world using Amulet. If you
- like Garnet or its design, you will probably find Amulet's design
- appealing as well, and it runs much faster!
-
- Amulet currently runs on Unix X/11, Microsoft Windows 95 or NT, and
- the Macintosh, using a variety of C++ compilers.
-
- ------------------------------------------------------------------------
- [11] What will happen to the Lisp version?
-
- The User Interface Software Group is sorry to report that we can no
- longer support Garnet. The staff people who knew about it have all
- left, and we must devote our efforts to Amulet, our new C++ toolkit
- (see [10]). However, a number of Garnet users are still active, so
- bug reports and questions to garnet-users@cs.cmu.edu or to the garnet
- newsgroup comp.windows.garnet are usually answered by a Garnet user.
-
- If someone is interested in maintaining Garnet and/or integrating the
- accummulated patches, please let us know.
-
- ------------------------------------------------------------------------
- [12] Why the change to C++?
-
- Political reasons:
-
- * ARPA (our chief funding agency) said we should.
-
- * Many former Lisp users, both in companies and universities, have
- been "forced" to switch to C or C++ and the user-base for Garnet was
- shrinking.
-
- * We want to have a major impact on the way "real" user interfaces are
- programmed, and many people have not felt that things written in Lisp
- count as "real".
-
- * The popularity of tcl shows that C programmers are itching for
- interactive development of user interfaces, and we think Amulet will
- be technically better and easier to use.
-
- Technical reasons:
-
- * We have been repeatedly frustrated that we can create interesting
- little utilities really quickly in Garnet, but no-one wants to use
- them because (on Unix) the executable image is enormous (typically 12
- to 30 megabytes). They take a lot of diskspace and a long time to
- load, and lots of memory to run. There have also been licensing
- issues about distributing Lisp images.
-
- * Speed: We spend 5 years and lots of effort optimizing our Lisp code,
- but it was still pretty slow on "conventional" machines. The initial
- version of the C++ version, with similar functionality, appears to be
- about THREE TIMES FASTER than the current Lisp version without any
- tuning at all.
-
- * Interfaces to interesting external stuff appears immediately in C
- but often never in Lisp. We want to use X extensions, OpenGL, Display
- Postscript, multimedia, IPC, network stuff, etc. There are still no
- extensions to CLX for many of the additions to X since R3.
-
-
- ------------------------------------------------------------------------
- [13] What do all the acronyms stand for?
-
- GARNET: KR: CORAL:
- Generating an Knowledge Constraint-Based,
- Amalgam of Representation Object-Oriented
- Real-time, Relations
- Novel OPAL: And
- Editors and Object Language
- Toolkits Programming
- Aggregate
- C32: Layer JADE:
- CMU's Judgement-based
- Clever and LAPIDARY: Automatic
- Compelling Lisp-Based Dialog
- Contribution to Assistant for Editor
- Computer Science in Prototyping
- CommonLisp which is Interface
- Customizable and Designs GEM:
- Characterized by a Allowing Graphics and
- Complete Remarkable Events
- Coverage of Yield Manager
- Code and
- Contains a AGATE: AMULET:
- Cornucopia of A Automatic
- Creative Gesture-recognizer Manufacture of
- Constructs, because it And Usable and
- Can Trainer by Learnable
- Create Example Editors and
- Complex, Toolkits
- Correct
- Constraints that are MARQUISE: TALISMAN:
- Constructed Mostly Toolkit and
- Clearly and Automated, Application
- Concretely, and Remarkably Layer for
- Communicated using Quick Synchronous
- Columns of User Multiple-user
- Cells, that are Interface Access over a
- Constantly Software Network
- Calculated so they Environment
- Change
- Continuously, and SILK:
- Cancel Sketching
- Confusion. Interfaces
- Like
- Krazy
-
- ------------------------------------------------------------------------
- [13] How can I learn more about Garnet?
-
- There is an Internet bulletin board called comp.windows.garnet on
- which Garnet is discussed. If you cannot access this, then the
- messages are repeated on the mailing list garnet-users@cs.cmu.edu.
- Send mail to garnet@cs.cmu.edu to be added if you cannot access the
- bulletin board.
-
- There is a World-wide Web page about Garnet which can be accessed via
- WWW browsers. It contains pictures of the Garnet developers, screen
- shots from some of your applications, abstracts and postscript for
- papers, and links to the Garnet FTP directories and other information.
- You can get to the Garnet page by opening the following URL from
- within your browser: http://www.cs.cmu.edu/~garnet
-
- The complete reference manuals for Garnet, which include a tour and
- tutorial, are available for anonymous FTP (see instructions above).
- The best overview article about Garnet appeared in IEEE Computer, vol.
- 23, No. 11., Nov, 1990. pp. 71-85. A number of old articles about
- Garnet were collected into a CMU Technical Report: "The Garnet
- Compendium: Collected Papers, 1989-1990" CMU-CS-90-154, August, 1990.
- A new compendium has been printed including 9 recent papers: "The
- Second Garnet Compendium: Collected Papers, 1990-1992" CMU-CS-93-108,
- February, 1993. To order either, send mail to reports@cs.cmu.edu.
- There have been about 35 refereed papers and 12 technical reports
- about Garnet so far, including papers in OOPSLA (88, 92), SIGCHI (89,
- 90, 91, 92, 93, 94, 95), ACM TOIS (July 90), Visual Computer (Feb 92), and
- UIST (89, 91, 92), and a complete bibliography is available on the
- Mosaic pages. The bibliography and the postscript for some articles
- are stored in the directory /usr/garnet/garnet/doc/papers/
-