import Kind ( mkUnboxedTypeKind, mkBoxedTypeKind, mkTypeKind, mkArrowKind )
import Name ( mkWiredInTyConName )
import PrimRep ( PrimRep(..) ) -- getPrimRepInfo uses PrimRep repn
-import TyCon --( mkPrimTyCon, mkDataTyCon, NewOrData(..) )
-import Type --( applyTyCon, mkTyVarTys, mkTyConTy )
+import TyCon ( mkPrimTyCon, mkDataTyCon, TyCon )
+import BasicTypes ( NewOrData(..) )
+import Type ( applyTyCon, mkTyVarTys, mkTyConTy, SYN_IE(Type) )
import TyVar ( GenTyVar(..), alphaTyVars )
import Usage ( usageOmega )
import PrelMods ( gHC__ )
= the_tycon
where
name = mkWiredInTyConName key gHC__ str the_tycon
- the_tycon = mkPrimTyCon name (mk_kind arity) primrep
- mk_kind 0 = mkUnboxedTypeKind
- mk_kind n = mkTypeKind `mkArrowKind` mk_kind (n-1)
+ the_tycon = mkPrimTyCon name arity primrep
charPrimTy = applyTyCon charPrimTyCon []