module VectBuiltIn (
Builtins(..), sumTyCon, prodTyCon, combinePAVar,
- initBuiltins, initBuiltinTyCons, initBuiltinDataCons,
+ initBuiltins, initBuiltinVars, initBuiltinTyCons, initBuiltinDataCons,
initBuiltinPAs, initBuiltinPRs,
initBuiltinBoxedTyCons,
import IfaceEnv ( lookupOrig )
import Module ( Module )
-import DataCon ( DataCon, dataConName )
+import DataCon ( DataCon, dataConName, dataConWorkId )
import TyCon ( TyCon, tyConName, tyConDataCons )
import Var ( Var )
import Id ( mkSysLocal )
, liftingContext = liftingContext
}
+initBuiltinVars :: Builtins -> [(Var, Var)]
+initBuiltinVars bi = [(v,v) | v <- map dataConWorkId defaultDataConWorkers]
+
+defaultDataConWorkers :: [DataCon]
+defaultDataConWorkers = [trueDataCon, falseDataCon]
+
initBuiltinTyCons :: Builtins -> [(Name, TyCon)]
initBuiltinTyCons bi = (tyConName funTyCon, closureTyCon bi)
: [(tyConName tc, tc) | tc <- defaultTyCons]