| 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 | |