| Copyright | (c) 2007 Magnus Therning |
|---|---|
| License | BSD-style (see the file LICENSE) |
| Maintainer | R.Paterson@city.ac.uk |
| Stability | experimental |
| Portability | portable |
| Safe Haskell | Safe |
| Language | Haskell98 |
Control.Monad.Trans.Identity
Description
The identity monad transformer.
This is useful for functions parameterized by a monad transformer.
Synopsis
- newtype IdentityT f a = IdentityT {
- runIdentityT :: f a
- mapIdentityT :: (m a -> n b) -> IdentityT m a -> IdentityT n b
- liftCatch :: Catch e m a -> Catch e (IdentityT m) a
- liftCallCC :: CallCC m a b -> CallCC (IdentityT m) a b
The identity monad transformer
newtype IdentityT f a Source #
The trivial monad transformer, which maps a monad to an equivalent monad.
Instances
Methods
pure :: a -> IdentityT * m a #
(<*>) :: IdentityT * m (a -> b) -> IdentityT * m a -> IdentityT * m b #
liftA2 :: (a -> b -> c) -> IdentityT * m a -> IdentityT * m b -> IdentityT * m c #
(*>) :: IdentityT * m a -> IdentityT * m b -> IdentityT * m b #
(<*) :: IdentityT * m a -> IdentityT * m b -> IdentityT * m a #
Methods
fold :: Monoid m => IdentityT * f m -> m #
foldMap :: Monoid m => (a -> m) -> IdentityT * f a -> m #
foldr :: (a -> b -> b) -> b -> IdentityT * f a -> b #
foldr' :: (a -> b -> b) -> b -> IdentityT * f a -> b #
foldl :: (b -> a -> b) -> b -> IdentityT * f a -> b #
foldl' :: (b -> a -> b) -> b -> IdentityT * f a -> b #
foldr1 :: (a -> a -> a) -> IdentityT * f a -> a #
foldl1 :: (a -> a -> a) -> IdentityT * f a -> a #
toList :: IdentityT * f a -> [a] #
null :: IdentityT * f a -> Bool #
length :: IdentityT * f a -> Int #
elem :: Eq a => a -> IdentityT * f a -> Bool #
maximum :: Ord a => IdentityT * f a -> a #
minimum :: Ord a => IdentityT * f a -> a #
Methods
traverse :: Applicative f => (a -> f b) -> IdentityT * f a -> f (IdentityT * f b) #
sequenceA :: Applicative f => IdentityT * f (f a) -> f (IdentityT * f a) #
mapM :: Monad m => (a -> m b) -> IdentityT * f a -> m (IdentityT * f b) #
sequence :: Monad m => IdentityT * f (m a) -> m (IdentityT * f a) #
Methods
liftReadsPrec :: (Int -> ReadS a) -> ReadS [a] -> Int -> ReadS (IdentityT * f a) #
liftReadList :: (Int -> ReadS a) -> ReadS [a] -> ReadS [IdentityT * f a] #
liftReadPrec :: ReadPrec a -> ReadPrec [a] -> ReadPrec (IdentityT * f a) #
liftReadListPrec :: ReadPrec a -> ReadPrec [a] -> ReadPrec [IdentityT * f a] #
Methods
compare :: IdentityT * f a -> IdentityT * f a -> Ordering #
(<) :: IdentityT * f a -> IdentityT * f a -> Bool #
(<=) :: IdentityT * f a -> IdentityT * f a -> Bool #
(>) :: IdentityT * f a -> IdentityT * f a -> Bool #
(>=) :: IdentityT * f a -> IdentityT * f a -> Bool #
max :: IdentityT * f a -> IdentityT * f a -> IdentityT * f a #
min :: IdentityT * f a -> IdentityT * f a -> IdentityT * f a #
mapIdentityT :: (m a -> n b) -> IdentityT m a -> IdentityT n b Source #
Lift a unary operation to the new monad.