On Wed Dec 26 13:20:23 2012, moritz wrote: > 22:07 < hoelzro> r: my $divisor = 2; say(* != $divisor && * %% $divisor); > 22:07 <+p6eval> rakudo c8de2e: OUTPUT«===SORRY!===Error while compiling > block: Error while compiling op call: Error while compiling block : > Error while compiling op call: Error while compiling op if: if block > expects an argument, but there's no immediate block to take it» > > 22:15 < Ayiko> r: say ((* < 5 and * > 5)(4,6)) > 22:15 <+p6eval> rakudo c8de2e: OUTPUT«===SORRY!===Error while compiling > block : Error while compiling op call: Error while compiling block : > Error while compiling op call: Error while compiling op call: Error > while compiling op if: if block expects an argument, but there's no > immediate block to take i… > > I guess the mixture of whatever-priming and short-circuiting operators > doesn't work out well.
These seems fine these days, at least on moar: 20:11 < [Coke]> r: say ((* < 5 and * > 5)(4,6)) 20:11 <+camelia> rakudo-jvm 2f7ab3: ( no output ) 20:11 <+camelia> ..rakudo-moar 2f7ab3: OUTPUT«Too many positionals passed; expected 1 argument but got 2 in block <unit> at /tmp/tmpfile:1» Since the whatever code there has a single parameter, the *, we can't pass two in. 20:11 < [Coke]> r: my $divisor = 2; say(* != $divisor && * %% $divisor); 20:11 <+camelia> rakudo-{moar,jvm} 2f7ab3: OUTPUT«WhateverCode.new» Closable (for moar at least) with tests. -- Will "Coke" Coleda