ivory-0.1.0.0: Safe embedded C programming.

Safe HaskellNone

Ivory.Language.MemArea

Synopsis

Documentation

newtype AreaInitM a Source

This is used to generate fresh names for compound initializers.

Constructors

AreaInitM 

data MemArea area Source

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.

newtype ConstMemArea area Source

Constructors

ConstMemArea (MemArea area) 

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.

Methods

addrOf :: IvoryArea area => mem area -> ref Global areaSource