minh thu wrote:
Something I wonder from time to time if it would be a good thing or
not is to allow
a `f g` b
to mean
f g a b
This comes up from time to time, though it is often met with stern
disapproval because it can easily lead to loss of clarity. There is a
valid alternative, though it's not quite as pretty:
($a) (f g...) b c... == f g... a b c...
With even less prettiness, this can also be generalized for other
numbers of prefix arguments:
( ($a) f) b c... == f a b c...
( ($b) $($a) f) c d... == f a b c d...
(($c) $($b) $($a) f) d e... == f a b c d e...
And if anyone wanted to use this sort of pattern frequently, I'm sure
there's some decent way to clean it up ala Matt Hellige's pointless
trick[1] or ala Oleg's polyvariadic trick[2].
[1] http://matt.immute.net/content/pointless-fun
[2] http://okmij.org/ftp/Haskell/polyvariadic.html
--
Live well,
~wren
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe