A docstring attached to an export list item.
Moduleghc-lib-parser-9.14.1.20251220GHC2021
Language.Haskell.Syntax.ImpExp
- 13 types
- Packageghc-lib-parser-9.14.1.20251220
- Exports13
- LanguageGHC2021
- LicenceBSD-3-Clause
- SourceImpExp.hs
Imported or exported entity.
Constructors
IEVar (XIEVar pass) (LIEWrappedName pass) (Maybe (ExportDoc pass))Imported or exported variable
module Mod ( test ) import Mod ( test )IEThingAbs (XIEThingAbs pass) (LIEWrappedName pass) (Maybe (ExportDoc pass))Imported or exported Thing with absent subordinate list
The thing is a Class/Type (can't tell)
module Mod ( Test ) import Mod ( Test )IEThingAll (XIEThingAll pass) (LIEWrappedName pass) (Maybe (ExportDoc pass))Imported or exported thing with wildcard subordinate list (e.g.
(..))The thing is a Class/Type and the All refers to methods/constructors
module Mod ( Test(..) ) import Mod ( Test(..) )IEThingWith (XIEThingWith pass) (LIEWrappedName pass) IEWildcard [LIEWrappedName pass] (Maybe (ExportDoc pass))Imported or exported thing with explicit subordinate list.
The thing is a Class/Type (can't tell) and the imported or exported things are its children.
module Mod ( Test(f, g) ) import Mod ( Test(f, g) )IEModuleContents (XIEModuleContents pass) (XRec pass ModuleName)Export of entire module. Can only occur in export list.
module Mod ( module Mod2 )IEGroup (XIEGroup pass) Int (LHsDoc pass)A Haddock section in an export list.
module Mod ( -- * Section heading ... )IEDoc (XIEDoc pass) (LHsDoc pass)A bit of unnamed documentation.
module Mod ( -- | Documentation ... )IEDocNamed (XIEDocNamed pass) StringA reference to a named documentation chunk.
module Mod ( -- $chunkName ... )XIE !(XXIE pass)
Instances12Eq, Data, Outputable, HasHaddock, Anno, …
Eq (IE GhcPs)Defined in ghc-lib-parser-9.14.1.20251220 · GHC.Hs.Instances · orphanEq (IE GhcRn)Defined in ghc-lib-parser-9.14.1.20251220 · GHC.Hs.Instances · orphanEq (IE GhcTc)Defined in ghc-lib-parser-9.14.1.20251220 · GHC.Hs.Instances · orphanData (IE GhcPs)Defined in ghc-lib-parser-9.14.1.20251220 · GHC.Hs.Instances · orphanData (IE GhcRn)Defined in ghc-lib-parser-9.14.1.20251220 · GHC.Hs.Instances · orphanData (IE GhcTc)Defined in ghc-lib-parser-9.14.1.20251220 · GHC.Hs.Instances · orphanOutputableBndrId p => Outputable (IE (GhcPass p))Defined in ghc-lib-parser-9.14.1.20251220 · GHC.Hs.ImpExp · orphanHasHaddock (LocatedA (IE GhcPs))Defined in ghc-lib-parser-9.14.1.20251220 · GHC.Parser.PostProcess.HaddockHasHaddock (LocatedLI [LocatedA (IE GhcPs)])Defined in ghc-lib-parser-9.14.1.20251220 · GHC.Parser.PostProcess.HaddockOnly for module exports, not module imports.
module M (a, b, c) where -- use on this [LIE GhcPs] import I (a, b, c) -- do not use here!
Imports cannot have documentation comments anyway.
type Anno (LocatedA (IE (GhcPass p))) = SrcSpanAnnADefined in ghc-lib-parser-9.14.1.20251220 · GHC.Hs.ImpExp · orphantype Anno (IE (GhcPass p)) = SrcSpanAnnADefined in ghc-lib-parser-9.14.1.20251220 · GHC.Hs.ImpExp · orphantype Anno [LocatedA (IE (GhcPass p))] = SrcSpanAnnLIDefined in ghc-lib-parser-9.14.1.20251220 · GHC.Hs.ImpExp · orphan
Wildcard in an import or export sublist, like the .. in
import Mod ( T(Mk1, Mk2, ..) ).
Constructors
NoIEWildcardno wildcard in this list
IEWildcard Intwildcard after the given # of items in this list The
Intis in the range [0..n], where n is the length of the list.
Instances2Eq, Data
Eq IEWildcardDefined in ghc-lib-parser-9.14.1.20251220 · Language.Haskell.Syntax.ImpExpData IEWildcardDefined in ghc-lib-parser-9.14.1.20251220 · Language.Haskell.Syntax.ImpExp
A name in an import or export specification which may have adornments. Used primarily for accurate pretty printing of ParsedSource, and API Annotation placement.
Constructors
IEName (XIEName p) (LIdP p)unadorned name, e.g
myFunIEDefault (XIEDefault p) (LIdP p)default X (), see Note [Named default declarations] in GHC.Tc.Gen.DefaultIEPattern (XIEPattern p) (LIdP p)pattern XIEType (XIEType p) (LIdP p)type (:+:)IEData (XIEData p) (LIdP p)data (:+:)XIEWrappedName !(XXIEWrappedName p)
Instances10Eq, Data, Outputable, OutputableBndr, HasOccName, Anno, …
Eq (IEWrappedName GhcPs)Defined in ghc-lib-parser-9.14.1.20251220 · GHC.Hs.ImpExp · orphanEq (IEWrappedName GhcRn)Defined in ghc-lib-parser-9.14.1.20251220 · GHC.Hs.ImpExp · orphanEq (IEWrappedName GhcTc)Defined in ghc-lib-parser-9.14.1.20251220 · GHC.Hs.ImpExp · orphanData (IEWrappedName GhcPs)Defined in ghc-lib-parser-9.14.1.20251220 · GHC.Hs.ImpExp · orphanData (IEWrappedName GhcRn)Defined in ghc-lib-parser-9.14.1.20251220 · GHC.Hs.ImpExp · orphanData (IEWrappedName GhcTc)Defined in ghc-lib-parser-9.14.1.20251220 · GHC.Hs.ImpExp · orphanOutputableBndrId p => Outputable (IEWrappedName (GhcPass p))Defined in ghc-lib-parser-9.14.1.20251220 · GHC.Hs.ImpExp · orphanOutputableBndrId p => OutputableBndr (IEWrappedName (GhcPass p))Defined in ghc-lib-parser-9.14.1.20251220 · GHC.Hs.ImpExp · orphan(HasOccName (IdP (GhcPass p)), OutputableBndrId p) => HasOccName (IEWrappedName (GhcPass p))Defined in ghc-lib-parser-9.14.1.20251220 · GHC.Hs.ImpExp · orphantype Anno (IEWrappedName (GhcPass _1)) = SrcSpanAnnADefined in ghc-lib-parser-9.14.1.20251220 · GHC.Hs.ImpExp · orphan
Import Declaration
A single Haskell import declaration.
Constructors
ImportDeclideclExt :: XCImportDecl passLocations of keywords like
import,qualified, etc. are captured here.ideclName :: XRec pass ModuleNameModule name.
ideclPkgQual :: ImportDeclPkgQual passPackage qualifier.
ideclSource :: IsBootInterfaceIsBoot <=> {-# SOURCE #-} import
ideclLevelSpec :: ImportDeclLevelStyleideclSafe :: BoolTrue => safe import
ideclQualified :: ImportDeclQualifiedStyleIf/how the import is qualified.
ideclAs :: Maybe (XRec pass ModuleName)as Module
ideclImportList :: Maybe (ImportListInterpretation, XRec pass [LIE pass])Explicit import list (EverythingBut => hiding, names)
XImportDecl !(XXImportDecl pass)
Instances5Data, Outputable, Anno
Data (ImportDecl GhcPs)Defined in ghc-lib-parser-9.14.1.20251220 · GHC.Hs.Instances · orphanData (ImportDecl GhcRn)Defined in ghc-lib-parser-9.14.1.20251220 · GHC.Hs.Instances · orphanData (ImportDecl GhcTc)Defined in ghc-lib-parser-9.14.1.20251220 · GHC.Hs.Instances · orphan(OutputableBndrId p, Outputable (Anno (IE (GhcPass p))), Outputable (ImportDeclPkgQual (GhcPass p))) => Outputable (ImportDecl (GhcPass p))Defined in ghc-lib-parser-9.14.1.20251220 · GHC.Hs.ImpExp · orphantype Anno (ImportDecl (GhcPass p)) = SrcSpanAnnADefined in ghc-lib-parser-9.14.1.20251220 · GHC.Hs.ImpExp · orphan
Instances2Eq, Data
Eq ImportDeclLevelDefined in ghc-lib-parser-9.14.1.20251220 · Language.Haskell.Syntax.ImpExpData ImportDeclLevelDefined in ghc-lib-parser-9.14.1.20251220 · Language.Haskell.Syntax.ImpExp
Constructors
LevelStylePre ImportDeclLevelspliceorquoteappears in prepositive position.LevelStylePost ImportDeclLevelspliceorquoteappears in postpositive position.NotLevelledNot levelled.
Instances2Eq, Data
Eq ImportDeclLevelStyleDefined in ghc-lib-parser-9.14.1.20251220 · Language.Haskell.Syntax.ImpExpData ImportDeclLevelStyleDefined in ghc-lib-parser-9.14.1.20251220 · Language.Haskell.Syntax.ImpExp
If/how an import is qualified.
Constructors
QualifiedPrequalifiedappears in prepositive position.QualifiedPostqualifiedappears in postpositive position.NotQualifiedNot qualified.
Instances2Eq, Data
Eq ImportDeclQualifiedStyleDefined in ghc-lib-parser-9.14.1.20251220 · Language.Haskell.Syntax.ImpExpData ImportDeclQualifiedStyleDefined in ghc-lib-parser-9.14.1.20251220 · Language.Haskell.Syntax.ImpExp
Whether the import list is exactly what to import, or whether hiding was
used, and therefore everything but what was listed should be imported
Instances3Eq, Data, NFData
Eq ImportListInterpretationDefined in ghc-lib-parser-9.14.1.20251220 · Language.Haskell.Syntax.ImpExpData ImportListInterpretationDefined in ghc-lib-parser-9.14.1.20251220 · Language.Haskell.Syntax.ImpExpNFData ImportListInterpretationDefined in ghc-lib-parser-9.14.1.20251220 · Language.Haskell.Syntax.ImpExp
Located Import or Export
Located name with possible adornment
Located Import Declaration
Indicates whether a module name is referring to a boot interface (hs-boot file) or regular module (hs file). We need to treat boot modules specially when building compilation graphs, since they break cycles. Regular source files and signature files are treated equivalently.
Instances6Eq, Data, Ord, Show, NFData, Binary
Eq IsBootInterfaceDefined in ghc-lib-parser-9.14.1.20251220 · Language.Haskell.Syntax.ImpExp.IsBootData IsBootInterfaceDefined in ghc-lib-parser-9.14.1.20251220 · Language.Haskell.Syntax.ImpExp.IsBootOrd IsBootInterfaceDefined in ghc-lib-parser-9.14.1.20251220 · Language.Haskell.Syntax.ImpExp.IsBootShow IsBootInterfaceDefined in ghc-lib-parser-9.14.1.20251220 · Language.Haskell.Syntax.ImpExp.IsBootNFData IsBootInterfaceDefined in ghc-lib-parser-9.14.1.20251220 · Language.Haskell.Syntax.ImpExp.IsBootBinary IsBootInterfaceDefined in ghc-lib-parser-9.14.1.20251220 · GHC.Utils.Binary