| Safe Haskell | None | 
|---|---|
| Language | Haskell2010 | 
Vectorise.Vect
Description
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.
Arguments
| :: 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.