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.AtomicState

Documentation

get :: State (Closed s) (Open s) s Source #

put :: t -> State (Open s) (Closed t) () Source #

data Closed s Source #

Instances

Show s => Show (Closed s) Source # 

Methods

showsPrec :: Int -> Closed s -> ShowS #

show :: Closed s -> String #

showList :: [Closed s] -> ShowS #

data Open s Source #

Instances

Show s => Show (Open s) Source # 

Methods

showsPrec :: Int -> Open s -> ShowS #

show :: Open s -> String #

showList :: [Open s] -> ShowS #

newtype State s1 s2 a Source #

Constructors

State 

Fields

Instances

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 #