No one prohibits you from redefining other operators.

It’s just that a > b is defined by default as b < a. So why it is this way and 
not a < b is b > a ;)

With spaceship there is one method to rule them all. But Pharo’s implementation 
is interesting too. I never had an idea that you can define things like that

On 04 Nov 2013, at 18:54, Nicolas Cellier <[email protected]> 
wrote:

> Beware of cases where you don't have total order.
> For example, in recent Squeak/Pharo we add to redefine the whole set of 
> operators on numbers, not only < and =, just because NaN is not ordered...
> 
> 
> 2013/11/4 kilon alios <[email protected]>
> It looks to me that this would be the source of less readable code, I prefer 
> the choosing message approach by Kent Beck (Smalltalk Best Practice Patterns) 
> where intent is clearly stated. Unless there is an advantage I am missing 
> here. This is an example that less verbose code does not mean simpler code. 
> Of course this will largely depend on the specifics of the case used. 
> 
> 
> On Mon, Nov 4, 2013 at 3:37 PM, Yuriy Tymchuk <[email protected]> wrote:
> Now she someone want’s to have a comparable object he has to use TComparable 
> and define < and =.
> With spaceship he has to define only <=>. I’m not sure what’s better. Just 
> wanted to hear other peoples opinion
> 
> On 04 Nov 2013, at 13:35, Stéphane Ducasse <[email protected]> wrote:
> 
> > do you have a real use case?
> >
> > Stef
> >
> > On Nov 4, 2013, at 1:32 PM, Yuriy Tymchuk <[email protected]> wrote:
> >
> >> Hi everyone.
> >>
> >> I’m wandering if there was any sort of a discussion about a spaceship 
> >> method used in Ruby.
> >>
> >> The concept is that you should implement a method <=>
> >> that returns something negative if the receiver is smaller then a 
> >> parameter,
> >> positive when the receiver is greater then a parameter,
> >> and 0 if they are equal.
> >>
> >> This way if you are implementing comparable object’s the only method you 
> >> have to redefine is spaceship (<=>).
> >>
> >> Yes, I know that i Pharo you have to only redefine < and =. But maybe it 
> >> would be interesting to use spaceship :)
> >>
> >> What do you think?
> >> Cheers!
> >> Uko
> >
> >
> 
> 
> 
> 

Reply via email to