splitClosureTy,
mkPADictType, mkPArrayType,
paDictArgType, paDictOfType,
- paMethod, lengthPA, replicatePA,
+ paMethod, lengthPA, replicatePA, emptyPA,
lookupPArrayFamInst,
hoistExpr, takeHoisted
) where
replicatePA len x = liftM (`mkApps` [len,x])
(paMethod replicatePAVar (exprType x))
+emptyPA :: Type -> VM CoreExpr
+emptyPA = paMethod emptyPAVar
+
lookupPArrayFamInst :: Type -> VM (TyCon, [Type])
lookupPArrayFamInst ty = builtin parrayTyCon >>= (`lookupFamInst` [ty])