ivory-0.1.0.9: Safe embedded C programming.

Safe HaskellNone
LanguageHaskell2010

Ivory.Language.Area

Synopsis

Documentation

type AProxy a = Proxy (a :: Area *) Source #

Type proxies for Areas.

data Area k Source #

The kind of memory-area types.

Constructors

Struct Symbol 
Array Nat (Area k) 
CArray (Area k) 
Stored k

This is lifting for a *-kinded type

class IvoryArea (a :: Area *) where Source #

Guard the inhabitants of the Area type, as not all *s are Ivory *s.

Methods

ivoryArea :: Proxy a -> Type Source #

Instances
(IvoryStruct sym, ASymbol sym) => IvoryArea (Struct sym :: Area Type) Source # 
Instance details

Defined in Ivory.Language.Struct

Methods

ivoryArea :: Proxy (Struct sym) -> Type0 Source #

IvoryArea a => IvoryArea (CArray a) Source # 
Instance details

Defined in Ivory.Language.CArray

Methods

ivoryArea :: Proxy (CArray a) -> Type Source #

IvoryType a => IvoryArea (Stored a) Source # 
Instance details

Defined in Ivory.Language.Area

Methods

ivoryArea :: Proxy (Stored a) -> Type Source #

(ANat len, IvoryArea area) => IvoryArea (Array len area) Source # 
Instance details

Defined in Ivory.Language.Area

Methods

ivoryArea :: Proxy (Array len area) -> Type Source #