chalmers-lava2000-1.6.1: Hardware description EDSL

Safe HaskellNone
LanguageHaskell98

Lava.MyST

Documentation

data ST s a Source #

Instances
Monad (ST s) Source # 
Instance details

Defined in Lava.MyST

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

fail :: String -> ST s a

Functor (ST s) Source # 
Instance details

Defined in Lava.MyST

Methods

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

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

Applicative (ST s) Source # 
Instance details

Defined in Lava.MyST

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

data STRef s a Source #

Instances
Eq (STRef s a) Source # 
Instance details

Defined in Lava.MyST

Methods

(==) :: STRef s a -> STRef s a -> Bool

(/=) :: STRef s a -> STRef s a -> Bool

newSTRef :: a -> ST s (STRef s a) Source #

readSTRef :: STRef s a -> ST s a Source #

writeSTRef :: STRef s a -> a -> ST s () Source #

runST :: (forall s. ST s a) -> a Source #

fixST :: (a -> ST s a) -> ST s a Source #

unsafeIOtoST :: IO a -> ST s a Source #