home *** CD-ROM | disk | FTP | other *** search
/ ftp.pasteur.org/FAQ/ / ftp-pasteur-org-FAQ.zip / FAQ / garnet-faq < prev    next >
Internet Message Format  |  1996-10-05  |  16KB

  1. 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
  2. From: bam@cs.cmu.edu (Brad Myers)
  3. Newsgroups: comp.windows.garnet,comp.lang.lisp,comp.lang.lisp.mcl,comp.answers,news.answers
  4. Subject: Garnet Toolkit Frequently Asked Questions
  5. Followup-To: comp.windows.garnet
  6. Date: 4 Oct 1996 14:24:40 GMT
  7. Organization: School of Computer Science, Carnegie Mellon
  8. Lines: 338
  9. Approved: news-answers-request@MIT.EDU
  10. Message-ID: <5336n8$ivq@cantaloupe.srv.cs.cmu.edu>
  11. NNTP-Posting-Host: amulet1.amulet.cs.cmu.edu
  12. Xref: senator-bedfellow.mit.edu comp.windows.garnet:1164 comp.lang.lisp:22809 comp.lang.lisp.mcl:9206 comp.answers:21563 news.answers:83540
  13.  
  14. Archive-name: garnet-faq
  15. Last-modified: October 4, 1996 -- BAM
  16. Posting-Frequency: occassionally
  17.  
  18. -*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-
  19.  
  20. Frequently Asked Questions (FAQ) about Garnet.
  21.  
  22. This file is stored as:
  23.     ftp://a.gp.cs.cmu.edu/usr/garnet/garnet/FAQ
  24.  
  25. ------------------------------------------------------------------------
  26. The following questions about Garnet are answered below:
  27.  
  28. [1] What Is Garnet?
  29. [2] How do I get Garnet?
  30. [3] Does Garnet run on a Macintosh or a PC?
  31. [4] Which forms of Lisp does Garnet work in?
  32. [5] What hardware does Garnet run on?
  33. [6] How do I get CMU CL (a free, public domain lisp)?
  34. [7] How do I get MCL (Macintosh Common Lisp)?
  35. [8] I am having trouble getting CLX to work...
  36. [9] Why doesn't Garnet use CLOS?
  37. [10] When will there be a C or C++ version of Garnet?
  38. [11] What will happen to the Lisp version?
  39. [12] Why the change to C++?
  40. [13] What do all the acronyms stand for?
  41. [14] How can I learn more about Garnet?
  42.  
  43. ------------------------------------------------------------------------
  44. [1] What Is Garnet?
  45.  
  46. Garnet is a user interface development environment for Common Lisp and
  47. X11 or Macintosh developed by the User Interface Software Group in the
  48. Human-Computer Interaction Institute at Carnegie Mellon University.
  49. Garnet helps you create graphical, interactive user interfaces for
  50. your software.  It is a large scale system containing many
  51. features and parts.
  52.  
  53. * Toolkit intrinsics:
  54.    - A custom object-oriented programming system which uses a
  55.        prototype-instance model. 
  56.    - A graphics layer that hides the differences between X/11 and Macintosh.
  57.    - Automatic constraint maintenance: so properties of objects can depend on
  58.        properties of other objects, and be automatically re-evaluated
  59.        when the other objects change.  The constraints can be
  60.        arbitrary lisp expressions.
  61.    - Built-in, high-level input event handling.
  62.    - Support for gesture recognition
  63.    - Widgets for multi-font, multi-line, mouse-driven text editing.
  64.    - Optional automatic layout of application data into lists, tables, trees,
  65.        or graphs.
  66.    - Automatic generation of PostScript for printing.
  67.    - Support for large-scale applications and data visualization.
  68. * Two complete widget sets:
  69.    - One with a Motif look and feel implemented in Lisp, and one with
  70.        a custom look and feel.
  71. * Interactive design tools for creating parts of the interface without
  72.        writing code:
  73.    - Gilt interface builder for creating dialog boxes
  74.    - Lapidary interactive tool for creating new widgets and for
  75.        drawing application-specific objects.
  76.    - C32 spreadsheet system for specifying complex constraints.
  77.   (The next parts are not being released.)
  78.    - Jade automatic dialog box creation system.
  79.    - Marquise interactive tool for specifying behaviors.
  80.  
  81. ------------------------------------------------------------------------
  82. [2] How do I get Garnet?
  83.      
  84. Garnet is available for free by anonymous FTP.  There is currently
  85. only one site from which it is available.   To retrieve Garnet, ftp to
  86. a.gp.cs.cmu.edu (128.2.242.7).  When asked to log in, use "anonymous", and
  87. your name as the password.  Then change to the garnet directory (note the
  88. double garnet's) and get the README explanation file:
  89.     ftp> cd /usr/garnet/garnet/
  90.     ftp> get README
  91.  
  92. Now, follow the directions in the README file.
  93.  
  94. ** If you are using the Macintosh, then please get the Garnet3.0r1.*
  95. ** versions of the files, which were fixed for the new version of MCL by
  96. ** Russell Almond.
  97.  
  98. There are no restrictions on your use or redistribution of Garnet.
  99.  
  100. NOTE: If you are reading this FAQ from Mosaic or another WWW client,
  101. you can get the README file and perform the ftp operations by
  102. selecting "Garnet FTP directory" off of the Garnet Home Page
  103. http://www.cs.cmu.edu/~garnet -- under the Garnet Information menu.
  104.  
  105. ------------------------------------------------------------------------
  106. [3] Does Garnet run on a Macintosh or a PC?
  107.  
  108. The latest version of Garnet (V3.0) runs on the Macintosh.  Programs
  109. written on either the Unix or Macintosh version should run pretty much
  110. without change on both kinds of computers.  However, we do not have
  111. Macintosh-look-and-feel widget set, so applications on the Macintosh
  112. will still have to use either the Garnet or Motif look-and-feel
  113. widgets.
  114.  
  115. There are no plans for a PC version of Garnet (but see the answer to
  116. question [10] below).
  117.  
  118. The object and constraint system of Garnet, called KR, will work by
  119. itself on other systems, since it only uses straight CommonLisp and no
  120. window manager.  You can FTP just the KR part and the KR manual from
  121. the standard Garnet distribution (see question [2]).
  122.      
  123. ** If you are using the Macintosh, then please get the Garnet3.0r1.*
  124. ** versions of the files, which were fixed for the new version of MCL by
  125. ** Russell Almond.
  126.  
  127. ------------------------------------------------------------------------
  128. [4] Which forms of Lisp does Garnet work in?
  129.  
  130. On the Macintosh, we know Garnet works on MCL Version 2.0.1.  On Unix,
  131. Garnet runs on every Lisp that we have come across which has CLX
  132. (interface to X11), which currently includes Allegro, Lucid, CMU,
  133. Harlequin Lispworks, AKCL, CLISP and TI Explorer Lisps.  It appears
  134. that AKCL and CLISP are quite slow.
  135.  
  136. ------------------------------------------------------------------------
  137. [5] What hardware does Garnet run on?
  138.  
  139. Garnet runs on the Macintosh, or on any machine that has X11 and
  140. Common Lisp implementations.  This is pretty much any workstation
  141. class machine, including Sun, DEC, HP, Apollo, IBM 6000, Silicon
  142. Graphics, etc.
  143.  
  144. ------------------------------------------------------------------------
  145. [6] How do I get CMU CL?
  146.  
  147. CMU CL is a free, high-quality implementation of full Common Lisp
  148. which works on Suns and other hardware.  CMU Common Lisp is a separate
  149. project unrelated to Garnet.  Garnet does work in CMU CL, and the
  150. following information is from the standard CMU CL FAQ:
  151.  
  152.    CMU Common Lisp is free, and runs on Sparcs (Mach and SunOs),
  153.    DecStation 3100 (Mach), IBM RT (Mach) and requires 16mb RAM, 25mb
  154.    disk. It includes an incremental compiler, Hemlock emacs-style editor,
  155.    source-code level debugger, code profiler and is mostly X3J13
  156.    compatible, including the new loop macro.  It is available by anonymous
  157.    ftp from any CMU CS machine, such as ftp.cs.cmu.edu [128.2.206.173], in the
  158.    directory /afs/cs.cmu.edu/project/clisp/release. Login with username
  159.    "anonymous" and "userid@host" (your email address) as password. Due to
  160.    security restrictions on anonymous ftps (some of the superior
  161.    directories on the path are protected against outside access), it is
  162.    important to "cd" to the source directory with a single command.
  163.    Don't forget to put the ftp into binary mode before using "get" to
  164.    obtain the compressed/tarred files. The binary releases are
  165.    contained in files of the form
  166.                 <version>-<machine>_<os>.tar.Z
  167.    Other files in this directory of possible interest are
  168.    *-source.tar.Z, which contains all the ".lisp" source files
  169.    used to build the various versions. Use "dir" or "ls" to see what is
  170.    available. Bug reports should be sent to cmucl-bugs@cs.cmu.edu.
  171.  
  172. Please do not send CMU CL questions to the Garnet group: use 
  173. cmucl-bugs@cs.cmu.edu instead.
  174.  
  175. ------------------------------------------------------------------------
  176. [7] How do I get MCL (Macintosh Common Lisp)?
  177.  
  178. Macintosh Common Lisp is actively supported and developed by Digitool.
  179. Their web site is at http://www.digitool.com/ .  Discussions about MCL
  180. are at news:comp.lang.lisp.mcl .  Digitool also has an FTP site with
  181. patches and contributed code at ftp://ftp.digitool.com:/pub/mcl/ .
  182.  
  183. ------------------------------------------------------------------------
  184. [8] I am having trouble getting CLX to work...
  185.  
  186. CLX should be supplied with every Common Lisp for Unix.  If you have
  187. trouble with CLX, please contact your Lisp vendor.  We can't help you.
  188.  
  189. ------------------------------------------------------------------------
  190. [9] Why doesn't Garnet use CLOS?
  191.  
  192. CLOS is the standard Common Lisp Object System, and Garnet uses a
  193. custom object system (called KR) instead.  There are a number of
  194. reasons for this.
  195.  
  196. The main reason is that Garnet uses a prototype-instance model, rather
  197. than the conventional class-instance model supported by CLOS.  We have
  198. found the prototype model to be more effective for user interface
  199. prototyping and construction.  A second reason is performance: it
  200. appears that KR is more efficient than CLOS for most standard
  201. operations.  Since we have control of KR, we can also optimize the
  202. performance of constraint satisfaction, which would require extra
  203. overhead in CLOS.
  204.  
  205. ------------------------------------------------------------------------
  206. [10] When will there be a C or C++ version of Garnet?
  207.  
  208. The same group that developed Garnet, the User Interface Software
  209. group at CMU, is now developing a C++ tool instead.  It is very
  210. similar to Garnet, and uses much of the same style of programming.
  211. The C++ version is called Amulet, and more information is available at
  212.     http://www.cs.cmu.edu/~amulet
  213. or mail to amulet@cs.cmu.edu.  Amulet has been released for general
  214. use, and there are projects all over the world using Amulet.  If you
  215. like Garnet or its design, you will probably find Amulet's design
  216. appealing as well, and it runs much faster! 
  217.  
  218. Amulet currently runs on Unix X/11, Microsoft Windows 95 or NT, and
  219. the Macintosh, using a variety of C++ compilers. 
  220.  
  221. ------------------------------------------------------------------------
  222. [11] What will happen to the Lisp version?
  223.  
  224. The User Interface Software Group is sorry to report that we can no
  225. longer support Garnet.  The staff people who knew about it have all
  226. left, and we must devote our efforts to Amulet, our new C++ toolkit
  227. (see [10]).  However, a number of Garnet users are still active, so
  228. bug reports and questions to garnet-users@cs.cmu.edu or to the garnet
  229. newsgroup comp.windows.garnet are usually answered by a Garnet user.
  230.  
  231. If someone is interested in maintaining Garnet and/or integrating the
  232. accummulated patches, please let us know.  
  233.  
  234. ------------------------------------------------------------------------
  235. [12] Why the change to C++?
  236.  
  237. Political reasons:
  238.  
  239. * ARPA (our chief funding agency) said we should.
  240.  
  241. * Many former Lisp users, both in companies and universities, have
  242. been "forced" to switch to C or C++ and the user-base for Garnet was
  243. shrinking.
  244.  
  245. * We want to have a major impact on the way "real" user interfaces are
  246. programmed, and many people have not felt that things written in Lisp
  247. count as "real".
  248.  
  249. * The popularity of tcl shows that C programmers are itching for
  250. interactive development of user interfaces, and we think Amulet will
  251. be technically better and easier to use.
  252.  
  253. Technical reasons:
  254.  
  255. * We have been repeatedly frustrated that we can create interesting
  256. little utilities really quickly in Garnet, but no-one wants to use
  257. them because (on Unix) the executable image is enormous (typically 12
  258. to 30 megabytes).  They take a lot of diskspace and a long time to
  259. load, and lots of memory to run.  There have also been licensing
  260. issues about distributing Lisp images.
  261.  
  262. * Speed: We spend 5 years and lots of effort optimizing our Lisp code,
  263. but it was still pretty slow on "conventional" machines.  The initial
  264. version of the C++ version, with similar functionality, appears to be
  265. about THREE TIMES FASTER than the current Lisp version without any
  266. tuning at all.
  267.  
  268. * Interfaces to interesting external stuff appears immediately in C
  269. but often never in Lisp.  We want to use X extensions, OpenGL, Display
  270. Postscript, multimedia, IPC, network stuff, etc.  There are still no
  271. extensions to CLX for many of the additions to X since R3.
  272.  
  273.  
  274. ------------------------------------------------------------------------
  275. [13] What do all the acronyms stand for?
  276.  
  277. GARNET:                KR:            CORAL:
  278. Generating an            Knowledge        Constraint-Based,
  279. Amalgam of            Representation        Object-Oriented
  280. Real-time,                        Relations
  281. Novel                OPAL:            And
  282. Editors and            Object            Language
  283. Toolkits            Programming        
  284.                 Aggregate        
  285. C32:                Layer            JADE:
  286. CMU's                            Judgement-based
  287. Clever and            LAPIDARY:        Automatic
  288. Compelling            Lisp-Based        Dialog
  289. Contribution to            Assistant for        Editor
  290. Computer Science in        Prototyping        
  291. CommonLisp which is        Interface        
  292. Customizable and        Designs            GEM:
  293. Characterized by a        Allowing        Graphics and
  294. Complete            Remarkable        Events
  295. Coverage of            Yield            Manager
  296. Code and                         
  297. Contains a            AGATE:            AMULET:        
  298. Cornucopia of            A            Automatic
  299. Creative            Gesture-recognizer    Manufacture of
  300. Constructs, because it        And            Usable and
  301. Can                Trainer by        Learnable
  302. Create                Example            Editors and
  303. Complex,                        Toolkits
  304. Correct                
  305. Constraints that are        MARQUISE:        TALISMAN:
  306. Constructed            Mostly            Toolkit and
  307. Clearly and            Automated,        Application
  308. Concretely, and            Remarkably        Layer for
  309. Communicated using        Quick            Synchronous
  310. Columns of            User            Multiple-user
  311. Cells, that are            Interface        Access over a
  312. Constantly            Software        Network
  313. Calculated so they        Environment
  314. Change                
  315. Continuously, and        SILK:    
  316. Cancel                Sketching
  317. Confusion.            Interfaces
  318.                 Like
  319.                 Krazy
  320.  
  321. ------------------------------------------------------------------------
  322. [13] How can I learn more about Garnet?
  323.  
  324. There is an Internet bulletin board called comp.windows.garnet on
  325. which Garnet is discussed.  If you cannot access this, then the
  326. messages are repeated on the mailing list garnet-users@cs.cmu.edu.
  327. Send mail to garnet@cs.cmu.edu to be added if you cannot access the
  328. bulletin board.
  329.  
  330. There is a World-wide Web page about Garnet which can be accessed via
  331. WWW browsers.  It contains pictures of the Garnet developers, screen
  332. shots from some of your applications, abstracts and postscript for
  333. papers, and links to the Garnet FTP directories and other information.
  334. You can get to the Garnet page by opening the following URL from
  335. within your browser: http://www.cs.cmu.edu/~garnet
  336.  
  337. The complete reference manuals for Garnet, which include a tour and
  338. tutorial, are available for anonymous FTP (see instructions above).
  339. The best overview article about Garnet appeared in IEEE Computer, vol.
  340. 23, No. 11., Nov, 1990. pp. 71-85.  A number of old articles about
  341. Garnet were collected into a CMU Technical Report: "The Garnet
  342. Compendium: Collected Papers, 1989-1990" CMU-CS-90-154, August, 1990.
  343. A new compendium has been printed including 9 recent papers: "The
  344. Second Garnet Compendium: Collected Papers, 1990-1992" CMU-CS-93-108,
  345. February, 1993.  To order either, send mail to reports@cs.cmu.edu.
  346. There have been about 35 refereed papers and 12 technical reports
  347. about Garnet so far, including papers in OOPSLA (88, 92), SIGCHI (89,
  348. 90, 91, 92, 93, 94, 95), ACM TOIS (July 90), Visual Computer (Feb 92), and
  349. UIST (89, 91, 92), and a complete bibliography is available on the
  350. Mosaic pages.  The bibliography and the postscript for some articles
  351. are stored in the directory /usr/garnet/garnet/doc/papers/
  352.