Some Scheme implementations (for example, MacScheme, Feel, Oaklisp, XScheme, and PC-Scheme) include built-in object-oriented extensions. BOS (Bryan's Object System) is a very small object system for Scheme. It is based around generic functions and multiple inheritance. BOS provides more or less the same features as Meroon and the Tiny CLOS base language. Even though it has not been optimised, it should be quite a bit faster than those because it does not include a MOP. BOS has been tested under Scheme 48 and SCM, and should run under any fairly modern Scheme implementation (especially any which runs SLIB) with little or no change. It is available by anonymous ftp from ftp.maths.tcd.ie:/pub/bosullvn/misc/bos.tar.gz and the CMU AI Repository in ftp.cs.cmu.edu:/user/ai/lang/scheme/oop/bos/ For more information, write to Bryan O'Sullivan <bosullvn@maths.tcd.ie>. MEROON is a package written in Scheme to provide the basic facilities of an object-oriented programming style through three macros: define-class, define-generic, and define-method. MEROON offers simple inheritance, reflective metaclasses and simple dispatching generic functions with support for multimethods. MEROON also offers indexed fields subsuming Scheme vectors without inheritance restrictions. Meroon runs in Scheme->C, PC-Scheme, Chez Scheme, Elk, Bigloo, SCM with SLIB, and MacGambit. MEROON sources and documentation may be found in the Scheme Repository as ftp.cs.indiana.edu:/pub/scheme-repository/new/meroon.*.tar.Z and also from ftp.inria.fr:/pub/INRIA/icsla/Programs/MeroonV3*.tar.gz [128.93.1.26] The file meroonet*.tar.gz is a toy version of meroon. For more information, contact Christian Queinnec <queinnec@polytechnnique.fr> or <Christian.Queinnec@inria.fr>. SCOOPS (Scheme Object Oriented Programming System) is an object system for Scheme written by Amitabh Srivastava/Texas Instruments with re-writes by Steve Sherin <sherin@linc.cis.upenn.edu>. [Email to this address bounced 7/7/93.] This package needs first-class environments. It is available from the Scheme Repository as /pub/scheme-repository/scm/scoops.sha. Tiny CLOS is a Scheme implementation of a `kernelized' CLOS, with a metaobject protocol. The implementation is even simpler than the simple CLOS found in `The Art of the Metaobject Protocol,' weighing in at around 850 lines of code, including (some) comments and documentation. Tiny CLOS is available by anonymous ftp from parcftp.xerox.com:/pub/mops/. Tiny CLOS runs in MIT Scheme 11.74 and should run with only minor modifications in other Schemes as well. If you want to be added to the mops@parc.xerox.com mailing list (technical questions and discussion only), send mail to Gregor Kiczales <gregor@parc.xerox.com>. YASOS (Yet Another Scheme Object System) is fairly functional in style and uses delegation. The implementation includes multiple inheritance and "send to super" and is much smaller than class-based OO systems. See Ken Dickey, "Scheming with Objects", AI Expert 7(10):24-33, October 1992. A copy of the article and YASOS code is available from the Scheme Repository in pub/scheme-repository/txt/swob.txt. YASOS is also included as part of SLIB. For further information, contact Ken Dickey <kend@newton.apple.com>.Go Back Up