genericTyConNames = [crossTyConName, plusTyConName, genUnitTyConName]
ndpNames :: [Name]
-ndpNames = [ parrayTyConName, paTyConName, reprTyConName, embedTyConName
+ndpNames = [ parrayTyConName, paTyConName, preprTyConName, prClassName
+ , ndpCrossTyConName, ndpPlusTyConName, embedTyConName
, closureTyConName
, mkClosureName, applyClosureName
, mkClosurePName, applyClosurePName
-- NDP stuff
parrayTyConName = tcQual nDP_PARRAY FSLIT("PArray") parrayTyConKey
paTyConName = tcQual nDP_PARRAY FSLIT("PA") paTyConKey
-reprTyConName = tcQual nDP_PARRAY FSLIT("Repr") reprTyConKey
+preprTyConName = tcQual nDP_PARRAY FSLIT("PRepr") preprTyConKey
+prClassName = clsQual nDP_PARRAY FSLIT("PR") prClassKey
+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
randomGenClassKey = mkPreludeClassUnique 32
isStringClassKey = mkPreludeClassUnique 33
+
+prClassKey = mkPreludeClassUnique 34
\end{code}
%************************************************************************
parrayTyConKey = mkPreludeTyConUnique 135
closureTyConKey = mkPreludeTyConUnique 136
paTyConKey = mkPreludeTyConUnique 137
-reprTyConKey = mkPreludeTyConUnique 138
+preprTyConKey = mkPreludeTyConUnique 138
embedTyConKey = mkPreludeTyConUnique 139
+ndpCrossTyConKey = mkPreludeTyConUnique 140
+ndpPlusTyConKey = mkPreludeTyConUnique 141
---------------- Template Haskell -------------------