Safe Haskell | None |
---|
- 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
The connection between haskell and ivory types.
IvoryType () | |
IvoryType OpaqueType | |
IvoryType IString | |
IvoryType IChar | |
IvoryType Sint64 | |
IvoryType Sint32 | |
IvoryType Sint16 | |
IvoryType Sint8 | |
IvoryType Uint64 | |
IvoryType Uint32 | |
IvoryType Uint16 | |
IvoryType Uint8 | |
IvoryType IBool | |
IvoryType IDouble | |
IvoryType IFloat | |
ProcType proc => IvoryType (Def proc) | |
ProcType proc => IvoryType (ProcPtr proc) | |
SingI Nat n => IvoryType (Ix n) | |
IvoryArea area => IvoryType (ConstRef s area) | |
IvoryArea area => IvoryType (Ref s area) | |
IvoryArea area => IvoryType (Ptr s area) |
class IvoryType t => IvoryVar t whereSource
Lifting a variable name.
IvoryVar IString | |
IvoryVar IChar | |
IvoryVar Sint64 | |
IvoryVar Sint32 | |
IvoryVar Sint16 | |
IvoryVar Sint8 | |
IvoryVar Uint64 | |
IvoryVar Uint32 | |
IvoryVar Uint16 | |
IvoryVar Uint8 | |
IvoryVar IBool | |
IvoryVar IDouble | |
IvoryVar IFloat | |
ProcType proc => IvoryVar (ProcPtr proc) | |
SingI Nat n => IvoryVar (Ix n) | |
IvoryArea area => IvoryVar (ConstRef s area) | |
IvoryArea area => IvoryVar (Ref s area) | |
IvoryArea area => IvoryVar (Ptr s area) |
class IvoryVar t => IvoryExpr t whereSource
Unwrapping for ivory expressions.
IvoryExpr IString | |
IvoryExpr IChar | |
IvoryExpr Sint64 | |
IvoryExpr Sint32 | |
IvoryExpr Sint16 | |
IvoryExpr Sint8 | |
IvoryExpr Uint64 | |
IvoryExpr Uint32 | |
IvoryExpr Uint16 | |
IvoryExpr Uint8 | |
IvoryExpr IBool | |
IvoryExpr IDouble | |
IvoryExpr IFloat | |
SingI Nat n => IvoryExpr (Ix n) | |
IvoryArea area => IvoryExpr (ConstRef s area) | |
IvoryArea area => IvoryExpr (Ref s area) | |
IvoryArea area => IvoryExpr (Ptr s area) |
wrapVarExpr :: IvoryExpr t => Var -> tSource