universum-1.7.3: Custom prelude used in Serokell
Safe HaskellSafe
LanguageHaskell2010

Universum.Monad.Trans

Description

Monad transformers utilities.

Synopsis

Convenient functions to work with Reader monad

usingReader :: r -> Reader r a -> a Source #

Shorter and more readable alias for flip runReader.

usingReaderT :: r -> ReaderT r m a -> m a Source #

Shorter and more readable alias for flip runReaderT.

Convenient functions to work with State monad

evaluatingState :: s -> State s a -> a Source #

Alias for flip evalState. It's not shorter but sometimes more readable. Done by analogy with using* functions family.

evaluatingStateT :: Functor f => s -> StateT s f a -> f a Source #

Alias for flip evalStateT. It's not shorter but sometimes more readable. Done by analogy with using* functions family.

executingState :: s -> State s a -> s Source #

Alias for flip execState. It's not shorter but sometimes more readable. Done by analogy with using* functions family.

executingStateT :: Functor f => s -> StateT s f a -> f s Source #

Alias for flip execStateT. It's not shorter but sometimes more readable. Done by analogy with using* functions family.

usingState :: s -> State s a -> (a, s) Source #

Shorter and more readable alias for flip runState.

usingStateT :: s -> StateT s m a -> m (a, s) Source #

Shorter and more readable alias for flip runStateT.

Convenient functions to work with MaybeT and ExceptT transformers

hoistMaybe :: Applicative m => Maybe a -> MaybeT m a Source #

Lift a Maybe to the MaybeT monad

hoistEither :: Applicative m => Either e a -> ExceptT e m a Source #

Lift a Either to the ExceptT monad