X-Git-Url: http://git.megacz.com/?p=ghc-hetmet.git;a=blobdiff_plain;f=compiler%2Fprelude%2FTysPrim.lhs;h=a5d93350bb4c1fc2bc16e839c3e2e390145c4954;hp=3490a827ea56512dd2a4af2949c90c19ef61151e;hb=16b9e80dc14db24509f051f294b5b51943285090;hpb=6d0b77ef003cc4add9a4252863a56416541e93a9 diff --git a/compiler/prelude/TysPrim.lhs b/compiler/prelude/TysPrim.lhs index 3490a82..a5d9335 100644 --- a/compiler/prelude/TysPrim.lhs +++ b/compiler/prelude/TysPrim.lhs @@ -10,8 +10,9 @@ -- They are all, therefore, wired-in TyCons. C.f module TysWiredIn module TysPrim( alphaTyVars, betaTyVars, alphaTyVar, betaTyVar, gammaTyVar, deltaTyVar, - alphaTy, betaTy, gammaTy, deltaTy, + alphaTy, betaTy, gammaTy, deltaTy, ecTyVars, openAlphaTy, openBetaTy, openAlphaTyVar, openBetaTyVar, openAlphaTyVars, + argAlphaTy, argAlphaTyVar, argBetaTy, argBetaTyVar, primTyCons, @@ -57,6 +58,7 @@ import OccName ( mkTcOcc ) import OccName ( mkTyVarOccFS, mkTcOccFS ) import TyCon ( TyCon, mkPrimTyCon, mkLiftedPrimTyCon, mkAnyTyCon ) import Type +import TypeRep ( ecKind ) import Coercion import SrcLoc import Unique ( mkAlphaTyVarUnique ) @@ -157,6 +159,9 @@ tyVarList kind = [ mkTyVar (mkInternalName (mkAlphaTyVarUnique u) where c = chr (u-2 + ord 'a') ] +ecTyVars :: [TyVar] +ecTyVars = tyVarList ecKind + alphaTyVars :: [TyVar] alphaTyVars = tyVarList liftedTypeKind @@ -180,7 +185,13 @@ openAlphaTyVars@(openAlphaTyVar:openBetaTyVar:_) = tyVarList openTypeKind openAlphaTy, openBetaTy :: Type openAlphaTy = mkTyVarTy openAlphaTyVar -openBetaTy = mkTyVarTy openBetaTyVar +openBetaTy = mkTyVarTy openBetaTyVar + +argAlphaTyVar, argBetaTyVar :: TyVar +(argAlphaTyVar : argBetaTyVar : _) = tyVarList argTypeKind +argAlphaTy, argBetaTy :: Type +argAlphaTy = mkTyVarTy argAlphaTyVar +argBetaTy = mkTyVarTy argBetaTyVar \end{code}