effect-monad-0.8.1.0: Embeds effect systems and program logics into Haskell using graded monads and parameterised monads

Safe HaskellSafe
LanguageHaskell98

Control.Effect.Parameterised

Documentation

(>>) :: PMonad pm => pm pre mid t -> pm mid post t' -> pm pre post t' Source #

class PMonad (pm :: k -> k -> * -> *) where Source #

Minimal complete definition

return, (>>=)

Methods

return :: a -> pm inv inv a Source #

(>>=) :: pm pre interm t -> (t -> pm interm post t') -> pm pre post t' Source #

Instances

PMonad * SafeFiles Source # 

Methods

return :: a -> pm inv inv a Source #

(>>=) :: pm pre interm t -> (t -> pm interm post t') -> pm pre post t' Source #

PMonad * State Source # 

Methods

return :: a -> pm inv inv a Source #

(>>=) :: pm pre interm t -> (t -> pm interm post t') -> pm pre post t' Source #

fail :: String -> m inv inv a Source #

ifThenElse :: Bool -> a -> a -> a Source #