monadology-0.3: The best ideas in monad-related classes and types.
Safe HaskellSafe-Inferred
LanguageHaskell2010

Control.Monad.Ology.Data.Param

Synopsis

Documentation

type Lens' a b = forall f. Functor f => (b -> f b) -> a -> f a Source #

borrowed from the lens package

data Param m a Source #

A parameter of a monad (as in ReaderT).

Constructors

MkParam 

Fields

Instances

Instances details
Functor m => Invariant (Param m) Source # 
Instance details

Defined in Control.Monad.Ology.Data.Param

Methods

invmap :: (a -> b) -> (b -> a) -> Param m a -> Param m b #

Applicative m => Productable (Param m) Source # 
Instance details

Defined in Control.Monad.Ology.Data.Param

Methods

rUnit :: Param m () #

(<***>) :: Param m a -> Param m b -> Param m (a, b) #

(***>) :: Param m () -> Param m a -> Param m a #

(<***) :: Param m a -> Param m () -> Param m a #

paramLocalM :: forall m a. Monad m => Param m a -> (a -> m a) -> m --> m Source #

paramLocal :: forall m a. Monad m => Param m a -> (a -> a) -> m --> m Source #

lensMapParam :: forall m a b. Monad m => Lens' a b -> Param m a -> Param m b Source #

readerParam :: forall m r. Monad m => Param (ReaderT r m) r Source #