[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

OK, how about...

One thing I've wanted that the proposal doesn't cover is the ability to
reorder the arguments.  Something like:

  (curry - <2> <1>)           ==  (lambda (x1 x2) (- x2 x1))
  (curry list 1 <2> 3 <1> 5)  ==  (lambda (x1 x2) (list 1 x2 3 x1 5))

Now I agree that down this path lies madness -- at some point, just writing
the lambda-expression becomes the most perspicuous way to say what you mean
-- but to me this still seems within bounds.

Note that I'm not proposing to replace `<>' with `<1>', `<2>', etc.  I'm
suggesting that the user gets the choice: If she uses `<>', then the order
is implicit as it is now.  If she uses `<1>', `<2>', ..., then the numbers
give the order of arguments.  Let it be an error if she mixes the two.