[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
- To: labrea!bobrow.pa%Xerox.COM@labrea.stanford.edu
- Subject: CALL-NEXT-METHOD
- From: Jon L White <firstname.lastname@example.org>
- Date: Thu, 7 Jan 88 18:32:38 PST
- Cc: labrea!common-lisp-object-system%SAIL@labrea.stanford.edu
- In-reply-to: Danny bobrow's message of 7 Jan 88 14:59 PST <880107-150044-7614@Xerox>
In the smalltalk-like object system that Bob Kerns and I did for PDP10
MacLisp and NIL in 1980 (called the EXTEND feature), we actually included
a primitive named SEND-AS. This function took just one more argument than
SEND, and defeated the CLASS-OF lookup that a normal SEND would do; it
supplied the starting point for method-lookup directly.
I realize that with multi-methods and generic functions, the syntax for
such a thing would be tricker -- maybe not even workable at all. But the
actual use of SEND-AS was for "delegation"; and if that is the intended use
that Kempf and Gabriel have in mind, then perhaps a more limited extension
is all that is needed.
-- JonL --
P.S.: R.I.P. EXTEND. It had multiple inheritance, but no method combination.
The first flavors implemetations for NIL were built on top of it, and
another non-flavor system that some MacSyma'ers wanted to play with
also went "on top" of it. But by 1983 there was a "rush to judgement"
in favor of FLAVORS; and KMP in particular helped discourage further
use by excising the documentation out of the revised MacLisp manual.
But the hooks for it are still in there, in about 30 primitive functions
like EQUAL, COPY, PURCOPY (used by compiled-code loader) etc.