= Flexible Partial Application = Are there any subtle reasons for why something like the following couldn't be allowed? {{{ > foo x y z w = ... > bar x w = foo x _ _ w }}} I.e. a more flexible version of partial application. This would be translated to {{{ > bar x w = \y z -> foo x y z w }}} I.e a function which takes the "_" parameters in the same order they were encountered in the function application. == Related proposals == * feature request for ghc at [http://hackage.haskell.org/trac/ghc/ticket/315 this ticket] * conflicts with MagicUnderscore == Pros == == Cons == One can usually assume '''id e = e''', for any '''e''', but {{{ id (f _ x) y === id (\y->f y x) y === f y x /= f _ x y === \z -> f z x y }}} Or would '''(f _ x) y''' and '''f _ x y''' maybe be different? That would fix the problem above, while introducing another.