what4-1.6.3: Solver-agnostic symbolic values support for issuing queries
Copyright(c) Galois Inc 2014-2020
LicenseBSD3
MaintainerJoe Hendrix <jhendrix@galois.com>
Stabilityprovisional
Safe HaskellSafe-Inferred
LanguageHaskell2010

What4.Utils.MonadST

Description

This module defines the MonadST class, which contains the ST and IO monads and a small collection of moand transformers over them.

Documentation

class Monad m => MonadST s (m :: Type -> Type) | m -> s where Source #

Methods

liftST :: ST s a -> m a Source #

Instances

Instances details
MonadST RealWorld IO Source # 
Instance details

Defined in What4.Utils.MonadST

Methods

liftST :: ST RealWorld a -> IO a Source #

MonadST s (ST s) Source # 
Instance details

Defined in What4.Utils.MonadST

Methods

liftST :: ST s a -> ST s a Source #

MonadST s m => MonadST s (ReaderT r m) Source # 
Instance details

Defined in What4.Utils.MonadST

Methods

liftST :: ST s a -> ReaderT r m a Source #

MonadST s m => MonadST s (StateT u m) Source # 
Instance details

Defined in What4.Utils.MonadST

Methods

liftST :: ST s a -> StateT u m a Source #

MonadST s m => MonadST s (StateT u m) Source # 
Instance details

Defined in What4.Utils.MonadST

Methods

liftST :: ST s a -> StateT u m a Source #

(MonadST s m, Monoid w) => MonadST s (WriterT w m) Source # 
Instance details

Defined in What4.Utils.MonadST

Methods

liftST :: ST s a -> WriterT w m a Source #

(MonadST s m, Monoid w) => MonadST s (WriterT w m) Source # 
Instance details

Defined in What4.Utils.MonadST

Methods

liftST :: ST s a -> WriterT w m a Source #

MonadST s (VarRecorder s t) Source # 
Instance details

Defined in What4.Expr.VarIdentification

Methods

liftST :: ST s a -> VarRecorder s t a Source #

MonadST s m => MonadST s (ContT r m) Source # 
Instance details

Defined in What4.Utils.MonadST

Methods

liftST :: ST s a -> ContT r m a Source #

data ST s a #

Instances

Instances details
MonadST s (ST s) Source # 
Instance details

Defined in What4.Utils.MonadST

Methods

liftST :: ST s a -> ST s a Source #

MonadFix (ST s) 
Instance details

Defined in Control.Monad.Fix

Methods

mfix :: (a -> ST s a) -> ST s a

Applicative (ST s) 
Instance details

Defined in GHC.ST

Methods

pure :: a -> ST s a

(<*>) :: ST s (a -> b) -> ST s a -> ST s b

liftA2 :: (a -> b -> c) -> ST s a -> ST s b -> ST s c

(*>) :: ST s a -> ST s b -> ST s b

(<*) :: ST s a -> ST s b -> ST s a

Functor (ST s) 
Instance details

Defined in GHC.ST

Methods

fmap :: (a -> b) -> ST s a -> ST s b

(<$) :: a -> ST s b -> ST s a

Monad (ST s) 
Instance details

Defined in GHC.ST

Methods

(>>=) :: ST s a -> (a -> ST s b) -> ST s b

(>>) :: ST s a -> ST s b -> ST s b

return :: a -> ST s a

MonadThrow (ST s) 
Instance details

Defined in Control.Monad.Catch

Methods

throwM :: (HasCallStack, Exception e) => e -> ST s a

PrimBase (ST s) 
Instance details

Defined in Control.Monad.Primitive

Methods

internal :: ST s a -> State# (PrimState (ST s)) -> (# State# (PrimState (ST s)), a #)

PrimMonad (ST s) 
Instance details

Defined in Control.Monad.Primitive

Associated Types

type PrimState (ST s) 
Instance details

Defined in Control.Monad.Primitive

type PrimState (ST s) = s

Methods

primitive :: (State# (PrimState (ST s)) -> (# State# (PrimState (ST s)), a #)) -> ST s a

RandomGen g => FrozenGen (STGen g) (ST s) 
Instance details

Defined in System.Random.Stateful

Associated Types

type MutableGen (STGen g) (ST s) 
Instance details

Defined in System.Random.Stateful

type MutableGen (STGen g) (ST s) = STGenM g s

Methods

freezeGen :: MutableGen (STGen g) (ST s) -> ST s (STGen g)

thawGen :: STGen g -> ST s (MutableGen (STGen g) (ST s))

Monoid a => Monoid (ST s a) 
Instance details

Defined in GHC.ST

Methods

mempty :: ST s a

mappend :: ST s a -> ST s a -> ST s a

mconcat :: [ST s a] -> ST s a

Semigroup a => Semigroup (ST s a) 
Instance details

Defined in GHC.ST

Methods

(<>) :: ST s a -> ST s a -> ST s a

sconcat :: NonEmpty (ST s a) -> ST s a

stimes :: Integral b => b -> ST s a -> ST s a

Show (ST s a) 
Instance details

Defined in GHC.ST

Methods

showsPrec :: Int -> ST s a -> ShowS

show :: ST s a -> String

showList :: [ST s a] -> ShowS

RandomGen r => RandomGenM (STGenM r s) r (ST s) 
Instance details

Defined in System.Random.Stateful

Methods

applyRandomGenM :: (r -> (a, r)) -> STGenM r s -> ST s a

RandomGen g => StatefulGen (STGenM g s) (ST s) 
Instance details

Defined in System.Random.Stateful

Methods

uniformWord32R :: Word32 -> STGenM g s -> ST s Word32

uniformWord64R :: Word64 -> STGenM g s -> ST s Word64

uniformWord8 :: STGenM g s -> ST s Word8

uniformWord16 :: STGenM g s -> ST s Word16

uniformWord32 :: STGenM g s -> ST s Word32

uniformWord64 :: STGenM g s -> ST s Word64

uniformShortByteString :: Int -> STGenM g s -> ST s ShortByteString

type PrimState (ST s) 
Instance details

Defined in Control.Monad.Primitive

type PrimState (ST s) = s
type MutableGen (STGen g) (ST s) 
Instance details

Defined in System.Random.Stateful

type MutableGen (STGen g) (ST s) = STGenM g s

data RealWorld #

Instances

Instances details
MonadST RealWorld IO Source # 
Instance details

Defined in What4.Utils.MonadST

Methods

liftST :: ST RealWorld a -> IO a Source #