chalmers-lava2000-1.6.1: Hardware description EDSL
Safe HaskellNone
LanguageHaskell98

Lava.Ref

Documentation

data Ref a Source #

Instances

Instances details
Eq (Ref a) Source # 
Instance details

Defined in Lava.Ref

Methods

(==) :: Ref a -> Ref a -> Bool

(/=) :: Ref a -> Ref a -> Bool

Show a => Show (Ref a) Source # 
Instance details

Defined in Lava.Ref

Methods

showsPrec :: Int -> Ref a -> ShowS

show :: Ref a -> String

showList :: [Ref a] -> ShowS

ref :: a -> Ref a Source #

deref :: Ref a -> a Source #

memoRef :: (Ref a -> b) -> Ref a -> b Source #

data TableIO a b Source #

Instances

Instances details
Eq (TableIO a b) Source # 
Instance details

Defined in Lava.Ref

Methods

(==) :: TableIO a b -> TableIO a b -> Bool

(/=) :: TableIO a b -> TableIO a b -> Bool

tableIO :: IO (TableIO a b) Source #

extendIO :: TableIO a b -> Ref a -> b -> IO () Source #

findIO :: TableIO a b -> Ref a -> IO (Maybe b) Source #

memoRefIO :: (Ref a -> IO b) -> Ref a -> IO b Source #

data TableST s a b Source #

Instances

Instances details
Eq (TableST s a b) Source # 
Instance details

Defined in Lava.Ref

Methods

(==) :: TableST s a b -> TableST s a b -> Bool

(/=) :: TableST s a b -> TableST s a b -> Bool

tableST :: ST s (TableST s a b) Source #

extendST :: TableST s a b -> Ref a -> b -> ST s () Source #

findST :: TableST s a b -> Ref a -> ST s (Maybe b) Source #

memoRefST :: (Ref a -> ST s b) -> Ref a -> ST s b Source #