ndpNames :: [Name]
ndpNames = [ parrayTyConName, paTyConName, preprTyConName, prTyConName
- , uarrTyConName
+ , parrayIntPrimTyConName
, mkPRName
, closureTyConName
, mkClosureName, applyClosureName
nDP_CLOSURE = mkNDPModule FSLIT("Data.Array.Parallel.Lifted.Closure")
nDP_PRIM = mkNDPModule FSLIT("Data.Array.Parallel.Lifted.Prim")
nDP_INSTANCES = mkNDPModule FSLIT("Data.Array.Parallel.Lifted.Instances")
-nDP_UARR = mkNDPModule FSLIT("Data.Array.Parallel.Unlifted.Flat.UArr")
mAIN = mkMainModule_ mAIN_NAME
rOOT_MAIN = mkMainModule FSLIT(":Main") -- Root module for initialisation
paTyConName = tcQual nDP_PARRAY FSLIT("PA") paTyConKey
preprTyConName = tcQual nDP_PARRAY FSLIT("PRepr") preprTyConKey
prTyConName = tcQual nDP_PARRAY FSLIT("PR") prTyConKey
-uarrTyConName = tcQual nDP_UARR FSLIT("UArr") uarrTyConKey
+parrayIntPrimTyConName = tcQual nDP_PRIM FSLIT("PArray_Int#")
+ parrayIntPrimTyConKey
mkPRName = varQual nDP_PARRAY FSLIT("mkPR") mkPRIdKey
lengthPAName = varQual nDP_PARRAY FSLIT("lengthPA") lengthPAIdKey
replicatePAName = varQual nDP_PARRAY FSLIT("replicatePA") replicatePAIdKey
paTyConKey = mkPreludeTyConUnique 137
preprTyConKey = mkPreludeTyConUnique 138
prTyConKey = mkPreludeTyConUnique 139
-uarrTyConKey = mkPreludeTyConUnique 140
+parrayIntPrimTyConKey = mkPreludeTyConUnique 140
---------------- Template Haskell -------------------
, preprTyCon :: TyCon
, prTyCon :: TyCon
, prDataCon :: DataCon
- , uarrTyCon :: TyCon
+ , parrayIntPrimTyCon :: TyCon
, sumTyCons :: Array Int TyCon
, closureTyCon :: TyCon
, mkPRVar :: Var
let [paDataCon] = tyConDataCons paTyCon
preprTyCon <- dsLookupTyCon preprTyConName
prTyCon <- dsLookupTyCon prTyConName
- uarrTyCon <- dsLookupTyCon uarrTyConName
let [prDataCon] = tyConDataCons prTyCon
+ parrayIntPrimTyCon <- dsLookupTyCon parrayIntPrimTyConName
closureTyCon <- dsLookupTyCon closureTyConName
sum_tcs <- mapM (lookupExternalTyCon nDP_REPR)
, preprTyCon = preprTyCon
, prTyCon = prTyCon
, prDataCon = prDataCon
- , uarrTyCon = uarrTyCon
+ , parrayIntPrimTyCon = parrayIntPrimTyCon
, sumTyCons = sumTyCons
, closureTyCon = closureTyCon
, mkPRVar = mkPRVar
arrShapeTys :: Repr -> VM [Type]
arrShapeTys (SumRepr {})
= do
- uarr <- builtin uarrTyCon
- return [intPrimTy, mkTyConApp uarr [intTy]]
+ int_arr <- builtin parrayIntPrimTyCon
+ return [intPrimTy, mkTyConApp int_arr [], mkTyConApp int_arr []]
arrShapeTys repr = return [intPrimTy]
arrShapeVars :: Repr -> VM [Var]