- mk name mod fs = (name, mod, fs)
-
- tups = map mk_tup [2..mAX_DPH_PROD]
- mk_tup n = mk (tyConName $ tupleTyCon Boxed n)
- (dph_Instances mods)
- (mkFastString $ "dPA_" ++ show n)
-
-initBuiltinPRs :: Builtins -> DsM [(Name, Var)]
-initBuiltinPRs = initBuiltinDicts . builtinPRs
-
-builtinPRs :: Builtins -> [(Name, Module, FastString)]
-builtinPRs bi@(Builtins { dphModules = mods }) =
- [
- mk (tyConName unitTyCon) (dph_Repr mods) (fsLit "dPR_Unit")
- , mk (tyConName $ voidTyCon bi) (dph_Repr mods) (fsLit "dPR_Void")
- , mk (tyConName $ wrapTyCon bi) (dph_Repr mods) (fsLit "dPR_Wrap")
- , mk (tyConName $ enumerationTyCon bi) (dph_Repr mods) (fsLit "dPR_Enumeration")
- , mk (tyConName $ closureTyCon bi) (dph_Closure mods) (fsLit "dPR_Clo")
-
- -- temporary
- , mk intTyConName (dph_Instances mods) (fsLit "dPR_Int")
- , mk word8TyConName (dph_Instances mods) (fsLit "dPR_Word8")
- , mk doubleTyConName (dph_Instances mods) (fsLit "dPR_Double")
- ]
-
- ++ map mk_sum [2..mAX_DPH_SUM]
- ++ map mk_prod [2..mAX_DPH_PROD]
- where
- mk name mod fs = (name, mod, fs)
-
- mk_sum n = (tyConName $ sumTyCon n bi, dph_Repr mods,
- mkFastString ("dPR_Sum" ++ show n))
-
- mk_prod n = (tyConName $ prodTyCon n bi, dph_Repr mods,
- mkFastString ("dPR_" ++ show n))