home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #26 / NN_1992_26.iso / spool / comp / object / 4170 < prev    next >
Encoding:
Internet Message Format  |  1992-11-08  |  6.1 KB

  1. 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
  2. From: bam+@cs.cmu.edu (Brad Myers)
  3. Newsgroups: comp.object
  4. Subject: KR object system
  5. Message-ID: <BxEKE2.589.2@cs.cmu.edu>
  6. Date: 8 Nov 92 15:01:13 GMT
  7. Sender: news@cs.cmu.edu (Usenet News System)
  8. Organization: School of Computer Science, Carnegie Mellon
  9. Lines: 140
  10. Nntp-Posting-Host: bam.garnet.cs.cmu.edu
  11.  
  12. Apparently, there was a post here about the KR object system, which supports
  13. a prototype-instance object system integrated with constraints.  KR is 
  14. implemented in Lisp, and runs in any full Common Lisp.
  15.  
  16. KR is quite efficient, and probably one of the most widely used 
  17. prototype-instance object systems (as opposed to a class-instance object
  18. system).  Any slot (variable) of any object can contain a constraint in place
  19. of a regular value.  The constraint can be an arbitrary Lisp expression, and
  20. will be re-evaluated whenever the constraint changes.
  21.  
  22. KR is part of the Garnet User Interface Development Environment.  When used 
  23. with the Garnet graphics system, if the object is a graphical object, then it
  24. will be automatically redrawn whenever the constraint's value changes.
  25.  
  26. The Garnet system (with KR in it) is available for free, and an overview is
  27. below.  Note that the Garnet requires X/11, but the KR part will work by
  28. itself on Lisps on Macintoshes or PCs (without the graphics system).  However,
  29. the instructions for FTPing, which includes the documentation, assume that
  30. you are getting the entire system.
  31.  
  32. Programming with KR is described in a recent paper from OOPSLA'92:
  33.  
  34. Brad A. Myers, Dario A. Giuse, and Brad Vander Zanden. ``Declarative
  35. Programming in a Prototype-Instance System: Object-Oriented
  36. Programming Without Writing Methods,''  Proceedings OOPSLA'92:
  37. ACM Conference on Object-Oriented Programming Systems, Languages, and
  38. Applications.  October 18-22, 1992.  Vancouver, BC, Canada.  
  39. SIGPLAN Notices, vol. 27, no. 10. pp. 184-200.
  40.  
  41. Thank you for your interest in Garnet.
  42.  
  43. Brad A. Myers
  44. School of Computer Science
  45. Carnegie Mellon University
  46. 5000 Forbes Avenue
  47. Pittsburgh, PA  15213-3890
  48. (412) 268-5150
  49. FAX: (412) 681-5739
  50. bam@cs.cmu.edu
  51.  
  52.  
  53. -*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-
  54. -*-*-*-*-*-  THE GARNET USER INTERFACE DEVELOPMENT ENVIRONMENT  -*-*-*-*-*-*-
  55. -*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-
  56.  
  57.  
  58. Garnet is one of the most sophisticated User Interface Development
  59. Environment in the world.  It helps implement highly-interactive,
  60. graphical, direct manipulation programs for X/11 in Common Lisp.
  61. Typical applications include: drawing programs such as Macintosh
  62. MacDraw, user interfaces for expert systems and other AI applications,
  63. box and arrow diagram editors, graphical programming languages, game
  64. user interfaces, simulation and process monitoring programs, user
  65. interface construction tools, CAD/CAM programs, etc.  
  66.  
  67. General features include:
  68.  
  69. * In the Public Domain.  No licensing restrictions!
  70.  
  71. * Coverage of the entire user interface, including the contents of the
  72. application windows.
  73.  
  74. * Three high-level interactive design tools:
  75.     - Gilt: an interface builder which allows widgets to be placed
  76.       with a mouse.
  77.     - Lapidary: allows new widgets and application-specific
  78.       graphics to be designed using a mouse without programming.
  79.     - C32: a spreadsheet interface for specifying constraints.
  80.  
  81. * Independence from X/11 and its complexities, since programmers using
  82. Garnet never make Xlib (CLX) calls or receive Xlib events.
  83.  
  84. * Object-oriented programming using a prototype-instance model. 
  85.  
  86. * Automatic constraint maintenance, so properties of objects can depend on
  87. properties of other objects, and be automatically re-evaluated when the
  88. other objects change.
  89.  
  90. * Automatic display management.
  91.  
  92. * Built-in, high-level input event handling.
  93.  
  94. * Support for gesture recognition, so innovative interfaces can be
  95. investigated.
  96.  
  97. * Two complete widget sets: one with the Motif look-and-feel (the only
  98. Motif widget set implemented in Lisp), and the other with a Garnet
  99. look-and-feel.
  100.  
  101. * Widgets for multi-font, multi-line, mouse-driven text editing.
  102.  
  103. * Optional automatic layout of application data into lists, tables, trees,
  104. or graphs.
  105.  
  106. * Automatic generation of PostScript for printing.
  107.  
  108. * Support for large-scale applications and data visualization.
  109.  
  110. Garnet is implemented on top of the CLX interface to X/11, and works in
  111. virtually any Common Lisp environment, including Allegro, Lucid, CMU, and
  112. Harlequin Common Lisps on Sun, DEC, HP, Apollo, IBM 6000, and many other
  113. machines.  Garnet does not use CLOS or any existing X toolkit (such as Xtk
  114. or CLIM).  The toolkit comes with debugging tools, complete reference
  115. manuals, and tutorials.
  116.  
  117. Garnet is being developed under a grant from DARPA, along with additional
  118. industry support.  Papers about Garnet have appeared in OOPSLA (88, 92), SIGCHI
  119. (89, 90, 91), ACM TOIS (July 90), Visual Computer (Feb 92), and UIST (89,
  120. 91, 92).  An overview article is in the November 1990 issue of IEEE Computer
  121. (pp. 71-85) and March 18, 1991 issue of Nikkei Electronics (pp. 187-205). 
  122.  
  123. Garnet is available for free by anonymous FTP.  To retrieve it, ftp to
  124. a.gp.cs.cmu.edu (128.2.242.7).  When asked to log in, use "anonymous", and
  125. your name as the password.  Then change to the garnet directory (note the
  126. double garnet's) and get the README explanation file:
  127.     ftp> cd /usr/garnet/garnet/
  128.     ftp> get README
  129. Now, follow the directions in the README file.
  130.  
  131. There is an international Usenet newsgroup for Garnet called
  132. comp.windows.garnet.  If you can't read that, then send mail to
  133. Garnet@cs.cmu.edu to be added to the mailing list.
  134.  
  135. Contact: Brad A. Myers
  136.      School of Computer Science
  137.      Carnegie Mellon University
  138.      Pittsburgh, PA  15213-3890
  139.      (412) 268-5150
  140.      garnet@cs.cmu.edu
  141.  
  142.  
  143. /---------\                        Generating an
  144. \\--------\\                        Amalgam of
  145.  \\        \\                        Real-time,
  146.   \\        \\                        Novel
  147.    \\     G  \\  A     R     N     E     T        Editors and
  148.     \\        \\                    Toolkits
  149.      \\        \\ 
  150.       \\--------\\
  151.        \_________/
  152.