| 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 | Haskell2010 |
Control.Monad.Trans.Identity
Description
The identity monad transformer.
This is useful for functions parameterized by a monad transformer.
Synopsis
- newtype IdentityT (f :: k -> Type) (a :: k) = IdentityT {
- runIdentityT :: f a
- mapIdentityT :: forall {k1} {k2} m (a :: k1) n (b :: k2). (m a -> n b) -> IdentityT m a -> IdentityT n b
- liftCatch :: forall {k} e m (a :: k). 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 :: k -> Type) (a :: k) Source #
The trivial monad transformer, which maps a monad to an equivalent monad.
Instances
Instances details
Instance details
Defined in Control.Monad.Trans.Identity
Associated Types
Instance details
Defined in Control.Monad.Trans.Identity
Instance details
Defined in Control.Monad.Trans.Identity
Methods
fold1 :: Semigroup m0 => IdentityT m m0 -> m0 Source #
foldMap1 :: Semigroup m0 => (a -> m0) -> IdentityT m a -> m0 Source #
foldMap1' :: Semigroup m0 => (a -> m0) -> IdentityT m a -> m0 Source #
toNonEmpty :: IdentityT m a -> NonEmpty a Source #
maximum :: Ord a => IdentityT m a -> a Source #
minimum :: Ord a => IdentityT m a -> a Source #
head :: IdentityT m a -> a Source #
last :: IdentityT m a -> a Source #
foldrMap1 :: (a -> b) -> (a -> b -> b) -> IdentityT m a -> b Source #
foldlMap1' :: (a -> b) -> (b -> a -> b) -> IdentityT m a -> b Source #
foldlMap1 :: (a -> b) -> (b -> a -> b) -> IdentityT m a -> b Source #
foldrMap1' :: (a -> b) -> (a -> b -> b) -> IdentityT m a -> b Source #
Instance details
Defined in Control.Monad.Trans.Identity
Instance details
Defined in Control.Monad.Trans.Identity
Methods
liftReadsPrec :: (Int -> ReadS a) -> ReadS [a] -> Int -> ReadS (IdentityT f a) Source #
liftReadList :: (Int -> ReadS a) -> ReadS [a] -> ReadS [IdentityT f a] Source #
liftReadPrec :: ReadPrec a -> ReadPrec [a] -> ReadPrec (IdentityT f a) Source #
liftReadListPrec :: ReadPrec a -> ReadPrec [a] -> ReadPrec [IdentityT f a] Source #
Instance details
Defined in Control.Monad.Trans.Identity
Instance details
Defined in Control.Monad.Trans.Identity
Instance details
Defined in Control.Monad.Trans.Identity
Methods
fold :: Monoid m => IdentityT f m -> m #
foldMap :: Monoid m => (a -> m) -> IdentityT f a -> 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 #
Instance details
Defined in Control.Monad.Trans.Identity
Instance details
Defined in Control.Monad.Trans.Identity
Associated Types
Instance details
Defined in Control.Monad.Trans.Identity
Instance details
Defined in Control.Monad.Trans.Identity
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 #
Instance details
Defined in Control.Monad.Trans.Identity
Instance details
Defined in Control.Monad.Trans.Identity
mapIdentityT :: forall {k1} {k2} m (a :: k1) n (b :: k2). (m a -> n b) -> IdentityT m a -> IdentityT n b Source #
Lift a unary operation to the new monad.