Safe Haskell | None |
---|---|
Language | Haskell98 |
Simple vectorised constructors and projections.
- type Vect a = (a, a)
- type VVar = Vect Var
- type VExpr = Vect CoreExpr
- type VBind = Vect CoreBind
- vectorised :: Vect a -> a
- lifted :: Vect a -> a
- mapVect :: (a -> b) -> Vect a -> Vect b
- vVarType :: VVar -> Type
- vNonRec :: VVar -> VExpr -> VBind
- vRec :: [VVar] -> [VExpr] -> VBind
- vVar :: VVar -> VExpr
- vType :: Type -> VExpr
- vTick :: Tickish Id -> VExpr -> VExpr
- vLet :: VBind -> VExpr -> VExpr
- vLams :: Var -> [VVar] -> VExpr -> VExpr
- vVarApps :: Var -> VExpr -> [VVar] -> VExpr
- vCaseDEFAULT :: VExpr -> VVar -> Type -> Type -> VExpr -> VExpr
Documentation
vectorised :: Vect a -> a Source
Get the vectorised version of a thing.
mapVect :: (a -> b) -> Vect a -> Vect b Source
Apply some function to both the vectorised and lifted versions of a thing.
:: Var | Var bound to the lifting context. |
-> [VVar] | Parameter vars for the abstraction. |
-> VExpr | Body of the abstraction. |
-> VExpr |
Make a vectorised lambda abstraction.
The lifted version also binds the lifting context lc
.