[squeak-dev] Future of Squeak, and outsider's view

Igor Stasenko siguctua at gmail.com
Tue Jun 30 03:59:38 UTC 2009


2009/6/30 Cameron Sanders <csanders.personal at functional-analyst.com>:
> What you write (down below) is close to what I was thinking when I said have
> all #isXXX return false by default;
> although I would test that the first two characters match 'i' and 's' and
> that more characters exist, if so, return false, otherwise, normal
> #doesNotUnderstand: behavior.
>
> I would treat #is by itself differently... it is ... or it couldn't be
> tested! So I would do nothing for simple #is. and I don't like #is: because
> it looks like a class type test... but that is part of the point, eh?
>

I wouldn't say that. It is more trait-based approach than class-based.

The concept of #is: are: When object foo having some trait, it should
answer true on 'foo is: sometrait ', otherwise false.
Obviously since most subclasses inherit the behavior & traits of base
class, you should honor this rule in overrides of #is: method
i.e.:

Someclass>>is: object
  ^ (your tests here) or: [ super is: object ]

otherwise, if you omit the super send, some of the traits will become
unavailable. But of course, except when you doing this intentionally.


> I'll have to go back to the original example (by siguctua at gmail.com, and
> read more about lambdas) but I thought that CVLambda would implement
> #isCVLambda  to return true when it can be verified to be one. The example
> did not illustrate #doesNotUnderstand:.
>
> Back to the question of adding behavior to classes that you don't own.
> VisualWorks has a means to extend a class in a different package ... as I
> recall. As I recall, squeak has no such capability, right?
>

MC having this capability for a years.

> Thanks. You have given me food for thought...
>
> Ciao,
> Cam
>
> On Jun 29, 2009, at 3:43 PM, David Goehrig wrote:
>
>> What I typically what I've been doing to eliminate all of these methods
>> with a single simple change:
>>
>> Object
>>   doesNoUnderstand: aMessage
>>       ^ false
>
>
>



-- 
Best regards,
Igor Stasenko AKA sig.



More information about the Squeak-dev mailing list