Safe Haskell | None |
---|---|
Language | Haskell2010 |
Ivory.Language.Type
Synopsis
- class IvoryType t where
- class IvoryType t => IvoryVar t where
- wrapVar :: Var -> t
- unwrapExpr :: t -> Expr
- class IvoryVar t => IvoryExpr t where
- wrapVarExpr :: IvoryExpr t => Var -> t
- typedExpr :: forall t. IvoryVar t => t -> Typed Expr
- exprBinop :: IvoryExpr a => (Expr -> Expr -> Expr) -> a -> a -> a
- exprUnary :: IvoryExpr a => (Expr -> Expr) -> a -> a
- data OpaqueType = OpaqueType
Documentation
class IvoryType t where Source #
The connection between Haskell and Ivory types.
Instances
IvoryType () Source # |
|
IvoryType OpaqueType Source # | |
Defined in Ivory.Language.Type | |
IvoryType IString Source # | |
IvoryType IChar Source # | |
IvoryType Sint64 Source # | |
IvoryType Sint32 Source # | |
IvoryType Sint16 Source # | |
IvoryType Sint8 Source # | |
IvoryType Uint64 Source # | |
IvoryType Uint32 Source # | |
IvoryType Uint16 Source # | |
IvoryType Uint8 Source # | |
IvoryType IBool Source # | |
IvoryType IDouble Source # | |
IvoryType IFloat Source # | |
ProcType proc => IvoryType (Def proc) Source # | |
ProcType proc => IvoryType (ProcPtr proc) Source # | |
ANat n => IvoryType (Ix n) Source # | |
IvoryRep (BitRep n) => IvoryType (Bits n) Source # | |
(KnownNullability n, KnownConstancy c, IvoryArea a) => IvoryType (Pointer n c s a) Source # | |
class IvoryType t => IvoryVar t where Source #
Lifting a variable name.
Instances
IvoryVar IString Source # | |
IvoryVar IChar Source # | |
IvoryVar Sint64 Source # | |
IvoryVar Sint32 Source # | |
IvoryVar Sint16 Source # | |
IvoryVar Sint8 Source # | |
IvoryVar Uint64 Source # | |
IvoryVar Uint32 Source # | |
IvoryVar Uint16 Source # | |
IvoryVar Uint8 Source # | |
IvoryVar IBool Source # | |
IvoryVar IDouble Source # | |
IvoryVar IFloat Source # | |
ProcType proc => IvoryVar (ProcPtr proc) Source # | |
ANat n => IvoryVar (Ix n) Source # | |
IvoryRep (BitRep n) => IvoryVar (Bits n) Source # | |
(KnownNullability n, KnownConstancy c, IvoryArea a) => IvoryVar (Pointer n c s a) Source # | |
class IvoryVar t => IvoryExpr t where Source #
Unwrapping for Ivory expressions.
Instances
IvoryExpr IString Source # | |
IvoryExpr IChar Source # | |
IvoryExpr Sint64 Source # | |
IvoryExpr Sint32 Source # | |
IvoryExpr Sint16 Source # | |
IvoryExpr Sint8 Source # | |
IvoryExpr Uint64 Source # | |
IvoryExpr Uint32 Source # | |
IvoryExpr Uint16 Source # | |
IvoryExpr Uint8 Source # | |
IvoryExpr IBool Source # | |
IvoryExpr IDouble Source # | |
IvoryExpr IFloat Source # | |
ANat n => IvoryExpr (Ix n) Source # | |
IvoryRep (BitRep n) => IvoryExpr (Bits n) Source # | |
(KnownNullability n, KnownConstancy c, IvoryArea a) => IvoryExpr (Pointer n c s a) Source # | |
wrapVarExpr :: IvoryExpr t => Var -> t Source #
data OpaqueType Source #
An opaque type that can never be implemented.
Constructors
OpaqueType |
Instances
IvoryType OpaqueType Source # | |
Defined in Ivory.Language.Type |