On Oct 10, 2010, at 3:07 PM, Igor Stasenko wrote:

> On 10 October 2010 15:39, Nicolas Cellier
> <[email protected]> wrote:
>> The compiler uselessly insist on #ifNotNil: argument being a zero/one arg 
>> block.
>> Thus we cannot write this xtream sentence
>> 
>>    process ifNotNil: #terminate.
>> 
>> When the argument is not a block, Compiler should avoid inlining and
>> just send a normal message.
>> 
> +1
> 
> i am also missing:
> 
> someThing ifTrue: 1 ifFalse: 0

I hate this idea.
Let the compiler doing optimizations and please do not mix implementation and 
language design.
The ***semantics*** of iftrue: is to get a thunk (in scheme parlance) something 
whose evaluation is blocked.
1 is not that!

Now the compiler could be smart and inline whatever.

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

Reply via email to