ghc-7.6.3: The GHC API

Safe HaskellNone

HsSyn

Synopsis

Documentation

module HsBinds

module HsDecls

module HsExpr

module HsImpExp

module HsLit

module HsPat

module HsTypes

module HsUtils

module HsDoc

data HsModule name Source

All we actually declare here is the top-level structure for a module.

Constructors

HsModule 

Fields

hsmodName :: Maybe (Located ModuleName)

Nothing: "module X where" is omitted (in which case the next field is Nothing too)

hsmodExports :: Maybe [LIE name]

Export list

  • Nothing: export list omitted, so export everything
  • Just []: export nothing
  • Just [...]: as you would expect...
hsmodImports :: [LImportDecl name]

We snaffle interesting stuff out of the imported interfaces early on, adding that info to TyDecls/etc; so this list is often empty, downstream.

hsmodDecls :: [LHsDecl name]

Type, class, value, and interface signature decls

hsmodDeprecMessage :: Maybe WarningTxt

reason/explanation for warning/deprecation of this module

hsmodHaddockModHeader :: Maybe LHsDocString

Haddock module info and description, unparsed

Instances

Typeable1 HsModule 
Data name => Data (HsModule name) 
(OutputableBndr name, HasOccName name) => Outputable (HsModule name) 

data HsExtCore name Source

Constructors

HsExtCore Module [TyClDecl name] [IfaceBinding]