[Haskell-cafe] for = flip map
Christopher Done
chrisdone at googlemail.com
Wed Mar 28 22:19:34 CEST 2012
On 28 March 2012 22:05, Matthew Steele <mdsteele at alum.mit.edu> wrote:
> Doesn't for already exist, in Data.Traversable? Except that for =
> flip traverse.
Traverse doesn't fit the type of fmap, it demands an extra type constructor:
traverse :: (Traversable t,Applicative f) => (a -> f b) -> t a -> f (t b)
fmap :: Functor f => (a -> b) -> f a -> f b
Note the (a -> f b) instead of (a -> b).
E.g.
fmap :: (a -> b) -> [a] -> [b]
can't be expressed with traverse, you can only get this far:
traverse :: (a -> [b]) -> [a] -> [[b]]
Unless I'm missing something.
More information about the Haskell-Cafe
mailing list