Primitive monad that can handle mutation.
For example: IO and ST.
Associated types
Methods
primitive :: (State# (PrimState m) -> (# State# (PrimState m), a #)) -> m aUnwrap the State# token to pass to a function a primitive function that returns an unboxed state and a value.
primThrow :: Exception e => e -> m aThrow Exception in the primitive monad
unPrimMonad :: m a -> State# (PrimState m) -> (# State# (PrimState m), a #)Run a Prim monad from a dedicated state#
primVarNew :: a -> m (PrimVar m a)Build a new variable in the Prim Monad
primVarRead :: PrimVar m a -> m aRead the variable in the Prim Monad
primVarWrite :: PrimVar m a -> a -> m ()Write the variable in the Prim Monad