ndpNames :: [Name]
ndpNames = [ parrayTyConName, paTyConName, preprTyConName, prTyConName
+ , uarrTyConName
, mkPRName
, closureTyConName
, mkClosureName, applyClosureName
nDP_UTILS = mkNDPModule FSLIT("Data.Array.Parallel.Lifted.Utils")
nDP_CLOSURE = mkNDPModule FSLIT("Data.Array.Parallel.Lifted.Closure")
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
parrayTyConName = tcQual nDP_PARRAY FSLIT("PArray") parrayTyConKey
paTyConName = tcQual nDP_PARRAY FSLIT("PA") paTyConKey
preprTyConName = tcQual nDP_PARRAY FSLIT("PRepr") preprTyConKey
-prTyConName = clsQual nDP_PARRAY FSLIT("PR") prTyConKey
+prTyConName = tcQual nDP_PARRAY FSLIT("PR") prTyConKey
+uarrTyConName = tcQual nDP_UARR FSLIT("UArr") uarrTyConKey
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
---------------- Template Haskell -------------------
, preprTyCon :: TyCon
, prTyCon :: TyCon
, prDataCon :: DataCon
+ , uarrTyCon :: 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
closureTyCon <- dsLookupTyCon closureTyConName
, preprTyCon = preprTyCon
, prTyCon = prTyCon
, prDataCon = prDataCon
+ , uarrTyCon = uarrTyCon
, sumTyCons = sumTyCons
, closureTyCon = closureTyCon
, mkPRVar = mkPRVar