[Cuis] Fwd: Re: DIRECT version number

Juan Vuletich juan at jvuletich.org
Mon Aug 3 13:49:55 CDT 2015


Hi Doug,

On 8/2/2015 4:04 AM, Douglas Brebner wrote:
> On 19/07/2015 22:38, Phil (list) wrote:
>> Ready to go... we just need to agree on how to do it (pragma/method 
>> call/method category/method name?) Also, this is most definitely 
>> related to the 'Canonical test cases?' thread from a few months ago 
>> as these types of test cases / docs are part of the backfill I was 
>> referring to.
>
> I vaguely recall that many years ago there was a project called 
> SmallInterfaces that let you define public interfaces to objects. (Or 
> something like that). Would that be a good way to document the 
> public/private api using code?
>
> (sorry for being so vague but I've been awake for 24+ hours now)

Thanks for the pointer. I took a look at it. It is quite like Java 
interfaces. The tools are interesting. But I see several downsides:

- Each interface is a class. Each method in the protocol is an actual 
method. If we use this to document all public protocols in Cuis, it 
would mean a lot of new classes and methods.
- The source code of (for example) OrderedCollection>>at: would not 
include the information of it belonging to interface "Indexable". 
Without additional support from tools users can't tell whether a message 
is public protocol or not. And the base image / package maintainer can't 
easily see he's about to change a public api.

I think a method pragma, that includes the name of the protocol avoids 
these issues and is a better choice.

Cheers,
Juan Vuletich




More information about the Cuis mailing list