> personnally I do not like this form
>> What does it do?
>> 
>>>  process ifNotNil: #terminate.
>> 
>> 
>> for me it means passes the symbol #terminate as argument to the method 
>> ifNotNil:
>> If it has a more magical behavior then I do not know it.
>> 
>> Stef
> 
> It's exactly the same as using collection do: #something.
> 
> FWIW, in 1.2 we already included the compiler changes Levente suggested to me 
> to remove this restriction, so
> 
> nil ifNotNil: #squared -> nil
> 4 ifNotNil: #squared -> 16.

This is still not really readable compared to 
        4 ifNotNil: [:rec | rec squared]

For select: #even why not

Now to me this looks like a hack and again it works because now Symbol are 
valuable objects.
Too many hacks will only make the system more hackish. 
And especially the      
        iftrue: 'foo' ifFalse: 'zork'

In Smalltalk this is simple you ut bracket when you do not know if a part 
should/will be executed.
Now with such change this is not the case anymore. 
I think that we are focusing on the wrong point. Changing the language that way 
does not 
bring anything really useful. 

And I would veto such usage in the core for consistency reason. 

Stef


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

Reply via email to