basement-0.0.16: Foundation scrap box of array & string

License | BSD-style
Maintainer | Psychohistorians
Stability | experimental
Portability | portable
Safe Haskell | None
Language | Haskell2010

Basement.Compat.MonadTrans

Description

An internal and really simple monad transformers, without any bells and whistse.

Synopsis

- newtype State s (m :: Type -> Type) a = State {
  - runState :: s -> m (a, s)
  }
- newtype Reader r (m :: Type -> Type) a = Reader {
  - runReader :: r -> m a
  }

# Documentation

newtype State s (m :: Type -> Type) a Source #

Simple State monad

Constructors

State |

Fields

- runState :: s -> m (a, s)

#### Instances

Instances details

Monad m => Applicative (State s m) Source # |
Instance details Defined in Basement.Compat.MonadTrans Methods pure :: a -> State s m a Source # (<*>) :: State s m (a -> b) -> State s m a -> State s m b Source # liftA2 :: (a -> b -> c) -> State s m a -> State s m b -> State s m c Source # (*>) :: State s m a -> State s m b -> State s m b Source # (<*) :: State s m a -> State s m b -> State s m a Source #
Monad m => Functor (State s m) Source # |
Instance details Defined in Basement.Compat.MonadTrans Methods fmap :: (a -> b) -> State s m a -> State s m b Source # (<$) :: a -> State s m b -> State s m a Source #
Monad m => Monad (State r m) Source # |
Instance details Defined in Basement.Compat.MonadTrans Methods (>>=) :: State r m a -> (a -> State r m b) -> State r m b Source # (>>) :: State r m a -> State r m b -> State r m b Source # return :: a -> State r m a Source #

newtype Reader r (m :: Type -> Type) a Source #

Simple Reader monad

Constructors

Reader |

Fields

- runReader :: r -> m a

#### Instances

Instances details

Monad m => Applicative (Reader r m) Source # |
Instance details Defined in Basement.Compat.MonadTrans Methods pure :: a -> Reader r m a Source # (<*>) :: Reader r m (a -> b) -> Reader r m a -> Reader r m b Source # liftA2 :: (a -> b -> c) -> Reader r m a -> Reader r m b -> Reader r m c Source # (*>) :: Reader r m a -> Reader r m b -> Reader r m b Source # (<*) :: Reader r m a -> Reader r m b -> Reader r m a Source #
Monad m => Functor (Reader r m) Source # |
Instance details Defined in Basement.Compat.MonadTrans Methods fmap :: (a -> b) -> Reader r m a -> Reader r m b Source # (<$) :: a -> Reader r m b -> Reader r m a Source #
Monad m => Monad (Reader r m) Source # |
Instance details Defined in Basement.Compat.MonadTrans Methods (>>=) :: Reader r m a -> (a -> Reader r m b) -> Reader r m b Source # (>>) :: Reader r m a -> Reader r m b -> Reader r m b Source # return :: a -> Reader r m a Source #