|
|
|
A short time after I
learned Smalltalk, I came across another effort to build a language out of
objects, the Common Lisp Object System.
|
|
|
|
Here are the CLOS
like objects we built atop of Smalltalk to implement our multimethods.
|
|
|
|
(Explain these, one
by one…)
|
|
|
|
In fact, we went
well beyond simple multmethods. The collection of metabojects we built is a
surprisingly complete / comprehensive implementation of the CLOS MOP. The
major missing elements are multiple inheritance, and around methods.
|
|
|
|
Choreographer is a
better name for MethodCombination that is Method Combination. A number of the
names are rather droll. Is this in part to blame for this works relative, and
undeserved, obscurity?
|
|
|
|
The two mops coexist
fairly harmoniously, especially in contrast with Java’s dueling type systems.
|
|
|
|
There is a potential
synergy between these two mops that I regret to say remains undemonstrated to
this day. Between the two of ‘em, they’ve nearly got the space covered. But
that’s a talk for another day.
|
|
|
|
|
|
|