packages feed

exference-1.6.0.0: environment/Traversable.hs

module Data.Traversable where



class (Data.Functor.Functor t, Data.Foldable.Foldable t) => Traversable t where
  traverse :: Control.Applicative.Applicative f => (a -> f b) -> t a -> f (t b)
  sequenceA :: Control.Applicative.Applicative f => t (f a) -> f (t a)
  -- mapM :: Control.Monad.Monad m => (a -> m b) -> t a -> m (t b)
  -- sequence :: Control.Monad.Monad m => t (m a) -> m (t a)

instance Traversable []
instance Traversable Data.Maybe.Maybe
instance Traversable Identity
-- instance Traversable (Data.Either.Either a)  -- cause "unused" problems
-- instance Traversable ((,) a)     -- cause "unused" problems
-- instance Traversable (Proxy *)
instance Traversable (Const m)