Difference between revisions of "Talk:Compose"

From HaskellWiki
Jump to navigation Jump to search
(simplified standard solution)
 
Line 20: Line 20:
 
</haskell>
 
</haskell>
 
Shall I replace the first solution?
 
Shall I replace the first solution?
  +
  +
----
  +
I would write:
  +
<haskell>
  +
compose = foldr (flip (.)) id
  +
</haskell>

Latest revision as of 10:12, 9 February 2007

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?


I would write:

compose = foldr (flip (.)) id