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);


Reply via email to