Types, Makers, and Inheritance
Tue, 20 Oct 1998 15:48:29 -0700
I am getting confused. As I see it, we don't have types now. The only
checking we have is that a particular invocation "makes sense". That is,
the designated object has a method with the correct name which accepts the
correct number of parameters. It seems somewhat Smalltalkish to me.
What this means to me is that if I am passing an object to service, and
that service's contract is that it will only call the "farble()" method,
then I can pass any object which has a zero parameter farble method. That
is much less than full type compatibility.
As to makers, it seems to me that having more than one maker for an object
which obeys a particular contract could be useful. Different
implementations come immediatly to mind.