| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Vectorise.Utils.Poly
Description
Auxiliary functions to vectorise type abstractions.
Documentation
polyAbstract :: [TyVar] -> ([Var] -> VM a) -> VM a Source #
Vectorise under the PA dictionary variables corresponding to a set of type arguments.
The dictionary variables are new local variables that are entered into the local vectorisation map.
The purpose of this function is to introduce the additional PA dictionary arguments that are
needed when vectorising type abstractions.
polyApply :: CoreExpr -> [Type] -> VM CoreExpr Source #
Apply a expression to its type arguments as well as PA dictionaries for these type arguments.