genericTyConNames = [crossTyConName, plusTyConName, genUnitTyConName]
ndpNames :: [Name]
-ndpNames = [ parrayTyConName, paTyConName, preprTyConName, embedTyConName
+ndpNames = [ parrayTyConName, paTyConName, preprTyConName
+ , ndpCrossTyConName, ndpPlusTyConName, embedTyConName
, closureTyConName
, mkClosureName, applyClosureName
, mkClosurePName, applyClosurePName
parrayTyConName = tcQual nDP_PARRAY FSLIT("PArray") parrayTyConKey
paTyConName = tcQual nDP_PARRAY FSLIT("PA") paTyConKey
preprTyConName = tcQual nDP_PARRAY FSLIT("PRepr") preprTyConKey
+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
paTyConKey = mkPreludeTyConUnique 137
preprTyConKey = mkPreludeTyConUnique 138
embedTyConKey = mkPreludeTyConUnique 139
+ndpCrossTyConKey = mkPreludeTyConUnique 140
+ndpPlusTyConKey = mkPreludeTyConUnique 141
---------------- Template Haskell -------------------
preprTyCon <- dsLookupTyCon preprTyConName
embedTyCon <- dsLookupTyCon embedTyConName
let [embedDataCon] = tyConDataCons embedTyCon
- crossTyCon <- dsLookupTyCon crossTyConName
+ crossTyCon <- dsLookupTyCon ndpCrossTyConName
let [crossDataCon] = tyConDataCons crossTyCon
- plusTyCon <- dsLookupTyCon plusTyConName
+ plusTyCon <- dsLookupTyCon ndpPlusTyConName
let [leftDataCon, rightDataCon] = tyConDataCons plusTyCon
closureTyCon <- dsLookupTyCon closureTyConName