Safe Haskell | None |
---|
Auxiliary functions to vectorise type abstractions.
Documentation
polyAbstract :: [TyVar] -> ([Var] -> VM a) -> VM aSource
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 CoreExprSource
Apply a expression to its type arguments as well as PA
dictionaries for these type arguments.