[Haskell-cafe] Pointfree composition for higher arity
Mike Dillon
mike at embody.org
Wed Feb 17 10:41:26 EST 2010
That signature is the `oo` "specs" combinator in Data.Aviary:
> fun = runFun `oo` someFun someDefault
-md
begin Sean Leather quotation:
> I find myself often writing this pattern:
>
> someFun x y z = ...
>
>
>
> fun y z = runFun $ someFun someDefault y z
> >
>
> or, alternatively:
>
> fun y = runFun . someFun someDefault y
> >
>
> 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 ...
> >
>
> >
> fun = runFun ... someFun someDefault
> >
>
> There, that's better. More points for fewer points (which means I should
> really change the name from fun to pun).
>
> Does anybody else care about this? What are some alternative solutions? I'd
> love to have something like this available in the Prelude or a library. (I
> have no strong feelings about the particular operator.)
>
> Regards,
> Sean
> _______________________________________________
> Haskell-Cafe mailing list
> Haskell-Cafe at haskell.org
> http://www.haskell.org/mailman/listinfo/haskell-cafe
More information about the Haskell-Cafe
mailing list