[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]


re: funcall-qua

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.