- ...research.
- This problem set was
developed by Hal Abelson, Greg McLaren, and David LaMacchia. It draws
on a Scheme implementation of Oaklisp by McLaren and a Scheme
implementation of Dylan by Jim Miller. The organization of the
generic function code follows the presentation of the Common Lisp
Object System (CLOS) in The Art of the Metaobject Protocol, by
Gregor Kiczales, Jim des Rivières, and Dan Bobrow (MIT Press,
1991).
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ...<number>.
- Keep in mind that this use of brackets is a naming
convention only-like naming predicates with names that end in
question mark.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ...inputs.
- See the
code (below) for a definition of ``most specific method.'' What
``most specific method'' ought to mean is
something that language designers argue about.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ...define-generic-function.
- Omitting lambda takes away
our ability to have unnamed procedures, as we do in Scheme. You might
want to think about how to add such a feature to TOOL.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ...procedure.
- The dot before the word ``body'' signifies that we
can put more than one expression in the body-just as with ordinary
Scheme procedures.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ...class.
- Java also enforces
the restriction that a class has at most one superclass. On the other
hand, Java includes a different mechanism called interfaces that
provides some of the capabilities associated with multiple superclasses.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.