This golfs down to:

(* // "foo").WHAT.say

All the boolean ops see not to.  Just to see what would happen
I applied the following patch locally:

--- a/src/Perl6/Actions.nqp
+++ b/src/Perl6/Actions.nqp
@@ -7744,6 +7744,10 @@ Compilation unit '$file' contained the following 
violations:
         %curried{'&infix:<^..^>'} := 2;
         %curried{'&infix:<xx>'}   := 2;
         %curried{'callmethod'}    := 3;
+        %curried{'if'}            := 3;
+        %curried{'defor'}         := 3;
+        %curried{'unless'}        := 3;
+        %curried{'xor'}           := 3;
         %curried{'p6callmethodhow'}      := 3;
         %curried{'&postcircumfix:<[ ]>'} := 3;
         %curried{'&postcircumfix:<{ }>'} := 3;

This did cause //, and, &&, orelse, etc. to autocurry, with the
surprising exceptions of ^^ and xor which never seem to reach the
whatever_curry rule.  Another op that does not includes infix:<min>.

This caused no spectest failures, but needs a combined check with
design folks and implementation folks given the interaction of
conditionals with the optimizer.

Reply via email to