- 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 $ "$fPA(" ++ replicate (n-1) ',' ++ ")")
-
-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 "$fPR()")
- , mk (tyConName $ voidTyCon bi) (dph_Repr mods) (fsLit "$fPRVoid")
- , mk (tyConName $ wrapTyCon bi) (dph_Repr mods) (fsLit "$fPRWrap")
- , mk (tyConName $ closureTyCon bi) (dph_Closure mods) (fsLit "$fPR:->")
-
- -- temporary
- , mk intTyConName (dph_Instances mods) (fsLit "$fPRInt")
- , mk word8TyConName (dph_Instances mods) (fsLit "$fPRWord8")
- , mk doubleTyConName (dph_Instances mods) (fsLit "$fPRDouble")
- ]
-
- ++ 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 ("$fPRSum" ++ show n))
-
- mk_prod n = (tyConName $ prodTyCon n bi, dph_Repr mods,
- mkFastString ("$fPR(" ++ replicate (n-1) ',' ++ ")"))