Simon Denier wrote:
> Try the following (1)
> (1 to: 10) at: 2
> returns 2
> 
> then (2)
> (1 to: 10) basicAt: 2
> raises an exception
> 
> It is surprising.
> 
> Problem is that Interval redefines at:
> but in (2), the lookup retrieves Object>>basicAt: which only works for  
> indexable objects (which an interval is not).
> 
> 
> So Interval should also redefine basicAt: ?

I do not find this surprising. The #basic* methods are intended to be 
fundamental, never overridden, and to reveal the internal structure of 
an object. This breaks encapsulation, but you need *some* messages that 
do that or you can't write debugging tools such as inspectors.

So it sounds to me like it's correct as is.

Regards,

-Martin

_______________________________________________
Pharo-project mailing list
[email protected]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project

Reply via email to