ivory-0.1.0.3: 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 where Source

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

Methods

ivoryArea :: Proxy a -> Type Source

Instances

IvoryType a => IvoryArea (Stored * a) Source 
(ANat len, IvoryArea area) => IvoryArea (Array * len area) Source