Safe Haskell | None |
---|---|
Language | Haskell2010 |
- data Visible
- newtype ModuleM a = Module {}
- type ModuleDef = ModuleM ()
- visAcc :: Visible -> a -> Visible a
- incl :: Def a -> ModuleDef
- inclSym :: IvoryExpr t => t -> ModuleDef
- depend :: Module -> ModuleDef
- defStruct :: forall sym. (IvoryStruct sym, ASymbol sym) => Proxy sym -> ModuleDef
- defStringType :: forall str. IvoryString str => Proxy str -> ModuleDef
- defMemArea :: IvoryArea area => MemArea area -> ModuleDef
- defConstMemArea :: IvoryArea area => ConstMemArea area -> ModuleDef
- package :: String -> ModuleDef -> Module
- private :: ModuleDef -> ModuleDef
- public :: ModuleDef -> ModuleDef
- moduleName :: Module -> String
Documentation
visAcc :: Visible -> a -> Visible a Source
Add an element to the public/private list, depending on visibility
defStruct :: forall sym. (IvoryStruct sym, ASymbol sym) => Proxy sym -> ModuleDef Source
Include the definition of a structure in the module.
defStringType :: forall str. IvoryString str => Proxy str -> ModuleDef Source
Include the definition of a string type's structure.
defMemArea :: IvoryArea area => MemArea area -> ModuleDef Source
Include the definition of a memory area.
defConstMemArea :: IvoryArea area => ConstMemArea area -> ModuleDef Source
Include the definition of a constant memory area.
private :: ModuleDef -> ModuleDef Source
Start a block of definitions that should not be put in the header.
public :: ModuleDef -> ModuleDef Source
Start a block of definitions should be put in the header. This is the
default, and this function is just included to complement private
.
moduleName :: Module -> String Source