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

Reply via email to