Types, Makers, and Inheritance

Bill Frantz frantz@communities.com
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.