Safe Haskell | None |
---|
- newtype AreaInitM a = AreaInitM {}
- areaInit_iso :: Iso (ReaderT String (StateT Int Id)) AreaInitM
- runAreaInitM :: String -> AreaInitM a -> a
- areaInit :: String -> Init area -> (Init, [Binding])
- data MemArea area
- = MemImport AreaImport
- | MemArea Area [Area]
- memSym :: MemArea area -> Sym
- bindingArea :: Bool -> Binding -> Area
- makeArea :: Sym -> Bool -> Type -> Init -> Area
- area :: forall area. IvoryArea area => Sym -> Maybe (Init area) -> MemArea area
- importArea :: IvoryArea area => Sym -> String -> MemArea area
- newtype ConstMemArea area = ConstMemArea (MemArea area)
- constArea :: forall area. IvoryArea area => Sym -> Init area -> ConstMemArea area
- importConstArea :: IvoryArea area => Sym -> String -> ConstMemArea area
- class IvoryAddrOf mem ref | mem -> ref, ref -> mem where
- primAddrOf :: IvoryArea area => MemArea area -> Expr
Documentation
This is used to generate fresh names for compound initializers.
runAreaInitM :: String -> AreaInitM a -> aSource
Externally defined memory areas.
bindingArea :: Bool -> Binding -> AreaSource
Create an area from an auxillary binding.
area :: forall area. IvoryArea area => Sym -> Maybe (Init area) -> MemArea areaSource
Define a global constant.
importArea :: IvoryArea area => Sym -> String -> MemArea areaSource
Import an external symbol from a header.
constArea :: forall area. IvoryArea area => Sym -> Init area -> ConstMemArea areaSource
Constant memory area definition.
importConstArea :: IvoryArea area => Sym -> String -> ConstMemArea areaSource
Import an external symbol from a header.
class IvoryAddrOf mem ref | mem -> ref, ref -> mem whereSource
Turn a memory area into a reference.
primAddrOf :: IvoryArea area => MemArea area -> ExprSource