X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;ds=sidebyside;f=ghc%2Fcompiler%2Fenvs%2FTVE.hi;h=4edf8d558df9e278de4f8b152584d5a43cd35f01;hb=10521d8418fd3a1cf32882718b5bd28992db36fd;hp=f4bc96a76a8697bbccef98e9aeb1026ca3adb7d4;hpb=7fa716e248a1f11fa686965f57aebbb83b74fa7b;p=ghc-hetmet.git diff --git a/ghc/compiler/envs/TVE.hi b/ghc/compiler/envs/TVE.hi index f4bc96a..4edf8d5 100644 --- a/ghc/compiler/envs/TVE.hi +++ b/ghc/compiler/envs/TVE.hi @@ -1,42 +1,25 @@ {-# GHC_PRAGMA INTERFACE VERSION 5 #-} interface TVE where -import Class(Class) import Id(Id) import Maybes(Labda) import Name(Name) import NameTypes(FullName, ShortName) import PreludePS(_PackedString) import TyCon(TyCon) -import TyVar(TyVar, TyVarTemplate) +import TyVar(TyVarTemplate) import UniType(UniType) -import UniqFM(UniqFM, eltsUFM, emptyUFM, plusUFM, singletonDirectlyUFM) -import Unique(Unique, u2i) -data Labda a {-# GHC_PRAGMA Hamna | Ni a #-} -data Name {-# GHC_PRAGMA Short Unique ShortName | WiredInTyCon TyCon | WiredInVal Id | PreludeVal Unique FullName | PreludeTyCon Unique FullName Int Bool | PreludeClass Unique FullName | OtherTyCon Unique FullName Int Bool [Name] | OtherClass Unique FullName [Name] | OtherTopId Unique FullName | ClassOpName Unique Name _PackedString Int | Unbound _PackedString #-} +import UniqFM(UniqFM) +import Unique(Unique) +data Labda a +data Name type TVE = UniqFM UniType -data TyVarTemplate {-# GHC_PRAGMA SysTyVarTemplate Unique _PackedString | UserTyVarTemplate Unique ShortName #-} -data UniType {-# GHC_PRAGMA UniTyVar TyVar | UniFun UniType UniType | UniData TyCon [UniType] | UniSyn TyCon [UniType] UniType | UniDict Class UniType | UniTyVarTemplate TyVarTemplate | UniForall TyVarTemplate UniType #-} -data UniqFM a {-# GHC_PRAGMA EmptyUFM | LeafUFM Int# a | NodeUFM Int# Int# (UniqFM a) (UniqFM a) #-} -eltsUFM :: UniqFM a -> [a] - {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ #-} -emptyUFM :: UniqFM a - {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 1 0 X 1 _/\_ u0 -> _!_ _ORIG_ UniqFM EmptyUFM [u0] [] _N_ #-} +data TyVarTemplate +data UniType +data UniqFM a lookupTVE :: UniqFM UniType -> Name -> UniType - {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "SS" _N_ _N_ #-} lookupTVE_NoFail :: UniqFM a -> Name -> Labda a - {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "SS" _N_ _N_ #-} mkTVE :: [Name] -> (UniqFM UniType, [TyVarTemplate], [UniType]) - {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-} nullTVE :: UniqFM UniType - {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _!_ _ORIG_ UniqFM EmptyUFM [UniType] [] _N_ #-} plusTVE :: UniqFM UniType -> UniqFM UniType -> UniqFM UniType - {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 0 0 X 1 _TYAPP_ _ORIG_ UniqFM plusUFM { UniType } _N_ #-} -plusUFM :: UniqFM a -> UniqFM a -> UniqFM a - {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _S_ "SS" _N_ _N_ #-} -singletonDirectlyUFM :: Unique -> a -> UniqFM a - {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _S_ "U(P)L" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: Int#) (u2 :: u0) -> _!_ _ORIG_ UniqFM LeafUFM [u0] [u1, u2] _N_} _F_ _IF_ARGS_ 1 2 CX 4 _/\_ u0 -> \ (u1 :: Unique) (u2 :: u0) -> case u1 of { _ALG_ _ORIG_ Unique MkUnique (u3 :: Int#) -> _!_ _ORIG_ UniqFM LeafUFM [u0] [u3, u2]; _NO_DEFLT_ } _N_ #-} -u2i :: Unique -> Int# - {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 0 1 X 1 \ (u0 :: Int#) -> u0 _N_} _F_ _IF_ARGS_ 0 1 C 2 \ (u0 :: Unique) -> case u0 of { _ALG_ _ORIG_ Unique MkUnique (u1 :: Int#) -> u1; _NO_DEFLT_ } _N_ #-} unitTVE :: Unique -> a -> UniqFM a - {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _S_ "U(P)L" {_A_ 2 _U_ 22 _N_ _N_ _F_ _IF_ARGS_ 1 2 XX 3 _/\_ u0 -> \ (u1 :: Int#) (u2 :: u0) -> _!_ _ORIG_ UniqFM LeafUFM [u0] [u1, u2] _N_} _F_ _IF_ARGS_ 1 2 CX 4 _/\_ u0 -> \ (u1 :: Unique) (u2 :: u0) -> case u1 of { _ALG_ _ORIG_ Unique MkUnique (u3 :: Int#) -> _!_ _ORIG_ UniqFM LeafUFM [u0] [u3, u2]; _NO_DEFLT_ } _N_ #-}