+ mk_tup n = mk (tyConName $ tupleTyCon Boxed n)
+ nDP_INSTANCES
+ (mkFastString $ "dPA_" ++ show n)
+
+initBuiltinPRs = initBuiltinDicts builtinPRs
+
+builtinPRs :: [(Name, Module, FastString)]
+builtinPRs = [
+ mk (tyConName unitTyCon) nDP_PARRAY FSLIT("dPR_Unit")
+ , mk ndpCrossTyConName nDP_PARRAY FSLIT("dPR_Cross")
+ , mk ndpPlusTyConName nDP_PARRAY FSLIT("dPR_Plus")
+ , mk embedTyConName nDP_PARRAY FSLIT("dPR_Embed")
+ , mk closureTyConName nDP_CLOSURE FSLIT("dPR_Clo")
+
+ -- temporary
+ , mk intTyConName nDP_INSTANCES FSLIT("dPR_Int")
+ ]
+ where
+ mk name mod fs = (name, mod, fs)