home *** CD-ROM | disk | FTP | other *** search
- Path: sparky!uunet!news.gtech.com!noc.near.net!hri.com!spool.mu.edu!uwm.edu!zaphod.mps.ohio-state.edu!saimiri.primate.wisc.edu!usenet.coe.montana.edu!news.u.washington.edu!ogicse!das-news.harvard.edu!cantaloupe.srv.cs.cmu.edu!bam
- From: bam+@cs.cmu.edu (Brad Myers)
- Newsgroups: comp.object
- Subject: KR object system
- Message-ID: <BxEKE2.589.2@cs.cmu.edu>
- Date: 8 Nov 92 15:01:13 GMT
- Sender: news@cs.cmu.edu (Usenet News System)
- Organization: School of Computer Science, Carnegie Mellon
- Lines: 140
- Nntp-Posting-Host: bam.garnet.cs.cmu.edu
-
- Apparently, there was a post here about the KR object system, which supports
- a prototype-instance object system integrated with constraints. KR is
- implemented in Lisp, and runs in any full Common Lisp.
-
- KR is quite efficient, and probably one of the most widely used
- prototype-instance object systems (as opposed to a class-instance object
- system). Any slot (variable) of any object can contain a constraint in place
- of a regular value. The constraint can be an arbitrary Lisp expression, and
- will be re-evaluated whenever the constraint changes.
-
- KR is part of the Garnet User Interface Development Environment. When used
- with the Garnet graphics system, if the object is a graphical object, then it
- will be automatically redrawn whenever the constraint's value changes.
-
- The Garnet system (with KR in it) is available for free, and an overview is
- below. Note that the Garnet requires X/11, but the KR part will work by
- itself on Lisps on Macintoshes or PCs (without the graphics system). However,
- the instructions for FTPing, which includes the documentation, assume that
- you are getting the entire system.
-
- Programming with KR is described in a recent paper from OOPSLA'92:
-
- Brad A. Myers, Dario A. Giuse, and Brad Vander Zanden. ``Declarative
- Programming in a Prototype-Instance System: Object-Oriented
- Programming Without Writing Methods,'' Proceedings OOPSLA'92:
- ACM Conference on Object-Oriented Programming Systems, Languages, and
- Applications. October 18-22, 1992. Vancouver, BC, Canada.
- SIGPLAN Notices, vol. 27, no. 10. pp. 184-200.
-
- Thank you for your interest in Garnet.
-
- Brad A. Myers
- School of Computer Science
- Carnegie Mellon University
- 5000 Forbes Avenue
- Pittsburgh, PA 15213-3890
- (412) 268-5150
- FAX: (412) 681-5739
- bam@cs.cmu.edu
-
-
- -*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-
- -*-*-*-*-*- THE GARNET USER INTERFACE DEVELOPMENT ENVIRONMENT -*-*-*-*-*-*-
- -*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-
-
-
- Garnet is one of the most sophisticated User Interface Development
- Environment in the world. It helps implement highly-interactive,
- graphical, direct manipulation programs for X/11 in Common Lisp.
- Typical applications include: drawing programs such as 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.
-
- General features include:
-
- * In the Public Domain. No licensing restrictions!
-
- * Coverage of the entire user interface, including the contents of the
- application windows.
-
- * Three high-level interactive design tools:
- - Gilt: an interface builder which allows widgets to be placed
- with a mouse.
- - Lapidary: allows new widgets and application-specific
- graphics to be designed using a mouse without programming.
- - C32: a spreadsheet interface for specifying constraints.
-
- * Independence from X/11 and its complexities, since programmers using
- Garnet never make Xlib (CLX) calls or receive Xlib events.
-
- * Object-oriented programming using a prototype-instance model.
-
- * Automatic constraint maintenance, so properties of objects can depend on
- properties of other objects, and be automatically re-evaluated when the
- other objects change.
-
- * Automatic display management.
-
- * Built-in, high-level input event handling.
-
- * Support for gesture recognition, so innovative interfaces can be
- investigated.
-
- * Two complete widget sets: one with the Motif look-and-feel (the only
- Motif widget set implemented in Lisp), and the other with a Garnet
- look-and-feel.
-
- * 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.
-
- Garnet is implemented on top of the CLX interface to X/11, and works 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 does not use CLOS or any existing X toolkit (such as Xtk
- or CLIM). The toolkit comes with debugging tools, complete reference
- manuals, and tutorials.
-
- Garnet is being developed under a grant from DARPA, along with additional
- industry support. Papers about Garnet have appeared in OOPSLA (88, 92), SIGCHI
- (89, 90, 91), ACM TOIS (July 90), Visual Computer (Feb 92), and UIST (89,
- 91, 92). An overview article is in the November 1990 issue of IEEE Computer
- (pp. 71-85) and March 18, 1991 issue of Nikkei Electronics (pp. 187-205).
-
- Garnet is available for free by anonymous FTP. To retrieve it, 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.
-
- There is an international Usenet newsgroup for Garnet called
- comp.windows.garnet. If you can't read that, then send mail to
- Garnet@cs.cmu.edu to be added to the mailing list.
-
- Contact: Brad A. Myers
- School of Computer Science
- Carnegie Mellon University
- Pittsburgh, PA 15213-3890
- (412) 268-5150
- garnet@cs.cmu.edu
-
-
- /---------\ Generating an
- \\--------\\ Amalgam of
- \\ \\ Real-time,
- \\ \\ Novel
- \\ G \\ A R N E T Editors and
- \\ \\ Toolkits
- \\ \\
- \\--------\\
- \_________/
-