In trying to write some algorithms using the proposed higher-order function
notation, I keep finding myself wanting to explicitly bracket parts of the
curried expression:
$sum_xy = sub {reduce ^last+^x*^y, zip($_[0], $_[1])};
Sure, in this case reduce() would probably be written such that its first
argument is explicitly a curried expression:
sub reduce (^expression, @list) { ... }
but that's not going to be the case for every function you want to include
in a curried expression. So I was wondering if we should add to RFC 23
another currying halting rule, that currying halts when it hits a brace {}.
Then, you can be sure that the following works as you expect:
$sum_xy = reduce {^last+^x*^y}, zip(^first_list, ^second_list);