| Safe Haskell | None | 
|---|
Vectorise.Utils.Closure
Description
Utils concerning closure construction and application.
Documentation
Arguments
| :: Type | Type of the argument. | 
| -> Type | Type of the result. | 
| -> Type | Type of the environment. | 
| -> VExpr | The function to apply. | 
| -> VExpr | The environment to use. | 
| -> VM VExpr | 
Make a closure.
Arguments
| :: Type | Type of the argument. | 
| -> Type | Type of the result. | 
| -> VExpr | Closure to apply. | 
| -> VExpr | Argument to use. | 
| -> VM VExpr | 
Make a closure application.
Arguments
| :: [TyVar] | Type variables passed during closure construction. | 
| -> [Var] | Variables passed during closure construction. | 
| -> [VVar] | Variables in the environment. | 
| -> [Type] | Type of the arguments. | 
| -> Type | Type of result. | 
| -> VM VExpr | |
| -> VM VExpr | 
Build a set of n closures corresponding to an n-ary vectorised function.  The length of
 the list of types of arguments determines the arity.
In addition to a set of type variables, a set of value variables is passed during closure construction. In contrast, the closure environment and the arguments are passed during closure application.