Your version of Rakudo is somewhat ancient. If you want to use the newer version of cygwin, you probably have to compile it yourself. If you're ok with the Windows version, you can get the binary from rakudo.org .
However, the current version also does not convert * min 2 to lambda, but from a quick test it seems to refer to * as Inf . My Perl6-fu is too weak to find out if it matches the specification or the error.
As a workaround, use
my &min_two := { $_ min 2 };
Please note that * only autocarnes (or, rather, "autotests" in Perl6-talk - see S02 ) with operators, not function calls, i.e. your third example should be written as
my &curry := &infix:<+>.assuming(2);
This is because the Whatever- * value depends on the context: DWIM is assumed.
In the case of function calls, it is passed as an argument, allowing the callee to decide what he wants to do with it. Even operators can freely access regardless of what is explicit (for example, 1..* ), but if they do not, any operand turns the operation into a βgroundedβ closure.
source share