On Mon Jan 04 16:40:58 2010, dave.wh...@gmail.com wrote: > By principle of least surprise, all three of these should result in > the same output: > > <dpuu> rakudo: say (0,1).grep: {!($^x%2)} > <p6eval> rakudo db84bc: 0 > > <dpuu> rakudo: say (0,1).grep: !(*%2) > <p6eval> rakudo db84bc: #{empty-list} > > <dpuu> rakudo: say (0,1).grep: 0==(*%2) > rakudo db84bc: 0 >
In latest Rakudo: > say (0,1).grep: {!($^x%2)} 0 > say (0,1).grep: !(*%2) 0 > say (0,1).grep: 0==(*%2) 0 > More specifically, I see that > > <dpuu> rakudo: say (0==(*%2)).WHAT > <p6eval> rakudo db84bc: !whatever_closure > <dpuu> rakudo: say (!(*%2)).WHAT > <p6eval> rakudo db84bc: Bool() > And these give: > say (0==(*%2)).WHAT WhateverCode() > say (!(*%2)).WHAT WhateverCode() Giving this to moritz++ to check we have enough test coverage for these various cases. Thanks, Jonathan