-
-newPrimVars :: [(Id, Ty)]
-newPrimVars = map (\ (v, ty) -> (zEncodeString v, ty))
- [("hPutChar#", mkFunTy tIntzh (mkFunTy tCharzh tIOUnit)),
- ("isSpace#", mkFunTy tCharzh tBool)]
-
+-- Unpleasantly, we wire in the Bool type because some people
+-- (i.e. me) need to depend on it being primitive. This shouldn't
+-- hurt anything, since if someone pulls in the GHC.Bool module,
+-- it will override this definition.
+boolEnv :: Envs
+boolEnv = Envs {tcenv_=efromlist boolTcs,
+ cenv_=efromlist boolDcs,
+ venv_=eempty}
+
+boolTcs :: [(Tcon, KindOrCoercion)]
+boolTcs = [(snd tcBool, Kind Klifted)]
+
+boolDcs :: [(Dcon, Ty)]
+boolDcs = [(dcTrue, tBool),
+ (dcFalse, tBool)]