fudgets-0.18.3.2: The Fudgets Library
Safe HaskellSafe-Inferred
LanguageHaskell98

ReactionM

Synopsis

Documentation

newtype ReactionM s o a Source #

Writer & State & Exception monad

Constructors

M (s -> [o] -> Maybe (s, [o], a)) 

Instances

Instances details
Monad (ReactionM s o) Source # 
Instance details

Defined in ReactionM

Methods

(>>=) :: ReactionM s o a -> (a -> ReactionM s o b) -> ReactionM s o b #

(>>) :: ReactionM s o a -> ReactionM s o b -> ReactionM s o b #

return :: a -> ReactionM s o a #

Functor (ReactionM s o) Source # 
Instance details

Defined in ReactionM

Methods

fmap :: (a -> b) -> ReactionM s o a -> ReactionM s o b #

(<$) :: a -> ReactionM s o b -> ReactionM s o a #

MonadFail (ReactionM s o) Source # 
Instance details

Defined in ReactionM

Methods

fail :: String -> ReactionM s o a #

Applicative (ReactionM s o) Source # 
Instance details

Defined in ReactionM

Methods

pure :: a -> ReactionM s o a #

(<*>) :: ReactionM s o (a -> b) -> ReactionM s o a -> ReactionM s o b #

liftA2 :: (a -> b -> c) -> ReactionM s o a -> ReactionM s o b -> ReactionM s o c #

(*>) :: ReactionM s o a -> ReactionM s o b -> ReactionM s o b #

(<*) :: ReactionM s o a -> ReactionM s o b -> ReactionM s o a #

react :: ReactionM a1 o a2 -> a1 -> (a1, [o]) Source #

put :: a1 -> ReactionM a2 a1 () Source #

set :: s -> ReactionM s o () Source #

field :: (a -> b) -> ReactionM a o b Source #

update :: (t -> t) -> ReactionM t o () Source #

lift :: Maybe a -> ReactionM s o a Source #

nop :: Monad m => m () Source #