genericTyConNames = [crossTyConName, plusTyConName, genUnitTyConName]
ndpNames :: [Name]
-ndpNames = [ parrayTyConName, paTyConName, closureTyConName
+ndpNames = [ parrayTyConName, paTyConName, preprTyConName, prTyConName
+ , ndpCrossTyConName, ndpPlusTyConName, embedTyConName
+ , closureTyConName
, mkClosureName, applyClosureName
, mkClosurePName, applyClosurePName
, lengthPAName, replicatePAName, emptyPAName, packPAName,
nDP_PARRAY = mkNDPModule FSLIT("Data.Array.Parallel.Lifted.PArray")
nDP_UTILS = mkNDPModule FSLIT("Data.Array.Parallel.Lifted.Utils")
nDP_CLOSURE = mkNDPModule FSLIT("Data.Array.Parallel.Lifted.Closure")
-nDP_INTERFACE_NAME = mkModuleNameFS FSLIT("Data.Array.Parallel.Lifted")
-nDP_BUILTIN = mkModuleNameFS FSLIT(":NDP")
+nDP_INSTANCES = mkNDPModule FSLIT("Data.Array.Parallel.Lifted.Instances")
mAIN = mkMainModule_ mAIN_NAME
rOOT_MAIN = mkMainModule FSLIT(":Main") -- Root module for initialisation
-- NDP stuff
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
+ndpCrossTyConName = tcQual nDP_PARRAY FSLIT(":*:") ndpCrossTyConKey
+ndpPlusTyConName = tcQual nDP_PARRAY FSLIT(":+:") ndpPlusTyConKey
+embedTyConName = tcQual nDP_PARRAY FSLIT("Embed") embedTyConKey
lengthPAName = varQual nDP_PARRAY FSLIT("lengthPA") lengthPAIdKey
replicatePAName = varQual nDP_PARRAY FSLIT("replicatePA") replicatePAIdKey
emptyPAName = varQual nDP_PARRAY FSLIT("emptyPA") emptyPAIdKey
parrayTyConKey = mkPreludeTyConUnique 135
closureTyConKey = mkPreludeTyConUnique 136
paTyConKey = mkPreludeTyConUnique 137
+preprTyConKey = mkPreludeTyConUnique 138
+embedTyConKey = mkPreludeTyConUnique 139
+ndpCrossTyConKey = mkPreludeTyConUnique 140
+ndpPlusTyConKey = mkPreludeTyConUnique 141
+prTyConKey = mkPreludeTyConUnique 142
---------------- Template Haskell -------------------