Proposal: Add missing Foldable/Traversable instances for Prelude types
Edward Kmett
ekmett at gmail.com
Sat Jan 22 00:33:10 CET 2011
I'd like to propose adding the following missing instances to Data.Foldable
and Data.Traversable respectively, since there isn't a canonical location
that they could be added outside of those packages without orphans, their
definition is unambiguous, and they are quite useful (plus, I happen to need
them for a monad transformer in my adjunctions package).
instance Foldable (Either a) where
foldMap f (Left a) = mempty
foldMap f (Right b) = f b
instance Foldable ((,)e) where
foldMap f ea = f (snd ea)
instance Traversable (Either a) where
traverse f (Left a) = pure (Left a)
traverse f (Right a) = Right <$> f a
instance Traversable ((,)e) where
traverse f ~(e,a) = (,) e <$> f a
Discussion period: 2 weeks
-Edward Kmett
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.haskell.org/pipermail/libraries/attachments/20110121/75a2680d/attachment.htm>
More information about the Libraries
mailing list