> First, these are not categories. categories are for classes.
> These are protocols.

Yes :)
> 
> A protocol is like an interface, or you can view it as services
> offered by the instances of this class...
> For example take a look at Number you have
> 'comparing', is a very generic service, so that any object can be in a set
> numbers have this property to have full order, so they offer a bit
> more than = and hash
> 'printing' a very generic Object protocol too for interacting
> (inspectors, debuggers...)
> 'arithmetic' is some more specialized service offered by numbers
> 'mathematical functions' too.
> 
> If the classification helps a lot, IMHO it's not only related to the
> number of messages.
> It helps to declare/discover which service will be offered, and those
> can be completely transversal (printing vs comparing).
> 
> 'private' has a value too, as there is no service to expect here...
> 
> So I have to disagree. I see these as essentials.

me too :)


Reply via email to