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
