Talk:Compose

From HaskellWiki
Revision as of 12:45, 22 October 2006 by Lemming (talk | contribs) (simplified standard solution)
Jump to navigation Jump to search

Reading this page got me to write an arrow version of compose. Don't know if it should be included or not since it isn't a monadic solution.

composeArrow :: [a -> a] -> a -> a <br/>
composeArrow = foldr ((>>>) . arr) (arr id)


Or maybe this:

composeArrow :: [a -> a] -> a -> a
composeArrow = foldl ((>>>) . arr) returnA

The first version does not need the function composition, because the functions could be applied immediately. This leads to

compose = flip (foldl (flip id))

Shall I replace the first solution?