[Haskell-cafe] Pointfree composition for higher arity
wren ng thornton
wren at freegeek.org
Fri Feb 19 23:42:03 EST 2010
Sean Leather wrote:
> The second option approaches the ideal pointfreeness (or pointlessness if
> you prefer), but I'd like to go farther:
>
> (...) :: (c -> d) -> (a -> b -> c) -> a -> b -> d
>> (...) f g x y = f (g x y)
>> infixr 9 ...
I go with infixl 8 personally. It seems to play better with some of the
other composition combinators.
In a somewhat different vein than Oleg's proposed general composition,
I've particularly enjoyed Matt Hellige's pointless fun combinators[0]. I
have a version which also adds a strict application combinator in my
desiderata package[1] so we can say things like:
foo $:: bar ~> baz !~> bif
which translates to:
\a b -> bif (foo (bar a) (baz $! b))
These combinators are especially good when you don't just have a linear
chain of functions.
[0] http://matt.immute.net/content/pointless-fun
[1]
http://community.haskell.org/~wren/wren-extras/src/Data/Function/Pointless.hs
--
Live well,
~wren
More information about the Haskell-Cafe
mailing list