-initBuiltinTyCons :: Builtins -> [(Name, TyCon)]
-initBuiltinTyCons bi = (tyConName funTyCon, closureTyCon bi)
- : [(tyConName tc, tc) | tc <- defaultTyCons]
+preludeVars :: [(Module, FastString, Module, FastString)]
+preludeVars
+ = [
+ mk gHC_PARR FSLIT("mapP") nDP_COMBINATORS FSLIT("mapPA")
+ , mk gHC_PARR FSLIT("zipWithP") nDP_COMBINATORS FSLIT("zipWithPA")
+ , mk nDP_PRELUDE_INT FSLIT("plus") nDP_PRELUDE_INT FSLIT("plusV")
+ , mk nDP_PRELUDE_INT FSLIT("minus") nDP_PRELUDE_INT FSLIT("minusV")
+ , mk nDP_PRELUDE_INT FSLIT("sumP") nDP_PRELUDE_INT FSLIT("sumPA")
+ , mk nDP_PRELUDE_INT FSLIT("upToP") nDP_PRELUDE_INT FSLIT("upToPA")
+
+ -- FIXME: temporary
+ , mk nDP_PRELUDE_PARR FSLIT("fromPArrayP") nDP_PRELUDE_PARR FSLIT("fromPArrayPA")
+ ]
+ where
+ mk = (,,,)
+
+initBuiltinTyCons :: Builtins -> DsM [(Name, TyCon)]
+initBuiltinTyCons bi
+ = do
+ -- parr <- externalTyCon nDP_PRELUDE_PARR FSLIT("PArr")
+ return $ (tyConName funTyCon, closureTyCon bi)
+ : (parrTyConName, parrayTyCon bi)
+
+ -- FIXME: temporary
+ : (tyConName $ parrayTyCon bi, parrayTyCon bi)
+
+ : [(tyConName tc, tc) | tc <- defaultTyCons]