| ghc-6.10.4: The GHC API | Contents | Index
TcRnTypes
Documentation
type TcRnIf a b c = IOEnv (Env a b) c
type TcRn a = TcRnIf TcGblEnv TcLclEnv a
type TcM a = TcRn a
type RnM a = TcRn a
type IfM lcl a = TcRnIf IfGblEnv lcl a
type IfL a = IfM IfLclEnv a
type IfG a = IfM () a
type TcRef a = IORef a
data Env gbl lcl
Constructors
Env |
env_top :: HscEnv |
env_us :: !(IORef UniqSupply) |
env_gbl :: gbl |
env_lcl :: lcl |
data TcGblEnv
Constructors
TcGblEnv |
tcg_mod :: Module |
tcg_src :: HscSource |
tcg_rdr_env :: GlobalRdrEnv |
tcg_default :: Maybe [Type] |
tcg_fix_env :: FixityEnv |
tcg_field_env :: RecFieldEnv |
tcg_type_env :: TypeEnv |
tcg_type_env_var :: TcRef TypeEnv |
tcg_inst_env :: InstEnv |
tcg_fam_inst_env :: FamInstEnv |
tcg_exports :: [AvailInfo] |
tcg_imports :: ImportAvails |
tcg_dus :: DefUses |
tcg_keep :: TcRef NameSet |
tcg_inst_uses :: TcRef NameSet |
tcg_th_used :: TcRef Bool |
tcg_dfun_n :: TcRef Int |
tcg_rn_imports :: Maybe [LImportDecl Name] |
tcg_rn_exports :: Maybe [Located (IE Name)] |
tcg_rn_decls :: Maybe (HsGroup Name) |
tcg_binds :: LHsBinds Id |
tcg_warns :: Warnings |
tcg_insts :: [Instance] |
tcg_fam_insts :: [FamInst] |
tcg_rules :: [LRuleDecl Id] |
tcg_fords :: [LForeignDecl Id] |
tcg_doc :: Maybe (HsDoc Name) |
tcg_hmi :: HaddockModInfo Name |
tcg_hpc :: AnyHpcUsage |
data TcLclEnv
Constructors
TcLclEnv |
tcl_loc :: SrcSpan |
tcl_ctxt :: ErrCtxt |
tcl_errs :: TcRef Messages |
tcl_th_ctxt :: ThStage |
tcl_arrow_ctxt :: ArrowCtxt |
tcl_rdr :: LocalRdrEnv |
tcl_env :: NameEnv TcTyThing |
tcl_tyvars :: TcRef TcTyVarSet |
tcl_lie :: TcRef LIE |
data IfGblEnv
Constructors
IfGblEnv |
if_rec_types :: Maybe (Module, IfG TypeEnv) |
data IfLclEnv
Constructors
IfLclEnv |
if_mod :: Module |
if_loc :: SDoc |
if_tv_env :: UniqFM TyVar |
if_id_env :: UniqFM Id |
type ErrCtxt = [TidyEnv -> TcM (TidyEnv, Message)]
data RecFieldEnv
Constructors
RecFields (NameEnv [Name]) NameSet |
data ImportAvails
Constructors
ImportAvails |
imp_mods :: ModuleEnv [(ModuleName, Bool, SrcSpan)] |
imp_dep_mods :: ModuleNameEnv (ModuleName, IsBootInterface) |
imp_dep_pkgs :: [PackageId] |
imp_orphs :: [Module] |
imp_finsts :: [Module] |
emptyImportAvails :: ImportAvails
plusImportAvails :: ImportAvails -> ImportAvails -> ImportAvails
data WhereFrom
Constructors
ImportByUser IsBootInterface |
ImportBySystem |
Instances
Outputable WhereFrom
mkModDeps :: [(ModuleName, IsBootInterface)] -> ModuleNameEnv (ModuleName, IsBootInterface)
data TcTyThing
Constructors
AGlobal TyThing |
ATcId |
tct_id :: TcId |
tct_co :: RefinementVisibility |
tct_type :: TcType |
tct_level :: ThLevel |
ATyVar Name TcType |
AThing TcKind |
Instances
Outputable TcTyThing
pprTcTyThingCategory :: TcTyThing -> SDoc
data RefinementVisibility
Constructors
Unrefineable |
Rigid HsWrapper |
Wobbly |
WobblyInvisible |
Instances
Outputable RefinementVisibility
data ThStage
Constructors
Comp |
Splice ThLevel |
Brack ThLevel (TcRef [PendingSplice]) (TcRef LIE) |
Instances
Outputable ThStage
topStage :: ThStage
topSpliceStage :: ThStage
type ThLevel = Int
impLevel :: ThLevel
topLevel :: ThLevel
data ArrowCtxt
Constructors
NoArrowCtxt |
newArrowScope :: TcM a -> TcM a
escapeArrowScope :: TcM a -> TcM a
data Inst
Constructors
Dict |
tci_name :: Name |
tci_pred :: TcPredType |
tci_loc :: InstLoc |
ImplicInst |
tci_name :: Name |
tci_tyvars :: [TcTyVar] |
tci_given :: [Inst] |
tci_wanted :: [Inst] |
tci_loc :: InstLoc |
Method |
tci_id :: TcId |
tci_oid :: TcId |
tci_tys :: [TcType] |
tci_theta :: TcThetaType |
tci_loc :: InstLoc |
LitInst |
tci_name :: Name |
tci_lit :: HsOverLit Name |
tci_ty :: TcType |
tci_loc :: InstLoc |
EqInst |
tci_left :: TcType |
tci_right :: TcType |
tci_co :: EqInstCo |
tci_loc :: InstLoc |
tci_name :: Name |
Instances
Eq Inst
Ord Inst
Outputable Inst
type EqInstCo = Either TcTyVar Coercion
data InstOrigin
Constructors
SigOrigin SkolemInfo |
IPBindOrigin (IPName Name) |
OccurrenceOf Name |
SpecPragOrigin Name |
IPOccOrigin (IPName Name) |
LiteralOrigin (HsOverLit Name) |
NegateOrigin |
ArithSeqOrigin (ArithSeqInfo Name) |
PArrSeqOrigin (ArithSeqInfo Name) |
TupleOrigin |
InstSigOrigin |
ExprSigOrigin |
RecordUpdOrigin |
ViewPatOrigin |
InstScOrigin |
NoScOrigin |
DerivOrigin |
StandAloneDerivOrigin |
DefaultOrigin |
DoOrigin |
ProcOrigin |
ImplicOrigin SDoc |
EqOrigin |
Instances
Outputable InstOrigin
data InstLoc
Constructors
InstLoc InstOrigin SrcSpan ErrCtxt |
pprInstLoc :: InstLoc -> SDoc
pprInstArising :: Inst -> SDoc
instLocSpan :: InstLoc -> SrcSpan
instLocOrigin :: InstLoc -> InstOrigin
setInstLoc :: Inst -> InstLoc -> Inst
type LIE = Bag Inst
emptyLIE :: LIE
unitLIE :: Inst -> LIE
plusLIE :: LIE -> LIE -> LIE
consLIE :: Inst -> LIE -> LIE
instLoc :: Inst -> InstLoc
instSpan :: Inst -> SrcSpan
plusLIEs :: [LIE] -> LIE
mkLIE :: [Inst] -> LIE
isEmptyLIE :: LIE -> Bool
lieToList :: LIE -> [Inst]
listToLIE :: [Inst] -> LIE
type TcId = Id
type TcIdSet = IdSet
type TcDictBinds = DictBinds TcId
Produced by Haddock version 2.4.2