Safe Haskell | None |
---|---|
Language | Haskell98 |
Utils concerning closure construction and application.
Documentation
:: 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.
:: Type | Type of the argument. |
-> Type | Type of the result. |
-> VExpr | Closure to apply. |
-> VExpr | Argument to use. |
-> VM VExpr |
Make a closure application.
:: [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.