Infinite recursion ? You use #ifTrue: in your implementation of Object>>#ifTrue: Plus, non-booleans cannot meaningfully respond. How would you define the semantics of 123 ifTrue: [ ... ]
On 19 Mar 2018, at 10:18, Petr Fischer <petr.fischer@me.com> wrote:
Hello, I have some sort of philosophical question about ifTrue:/ifFalse: implementation.
Now, ifTrue: is defined in the Boolean class (subclassResponsibility) + in True and False classes, so, we can send this message to the boolean expressions (instances) only, otherwise DND occurs.
But we can also define one universal ifTrue: right in the Object class, in this style:
Object>>ifTrue: .... (self = true) ifTrue: [ ... ].
then, we can send ifTrue: message to ANY object and it will work correctly without DND exception on non-boolean objects.
Is something bad about this idea?
Thanks! pf