ghc-7.0.3: The GHC API

HsSyn

Synopsis

- module HsBinds
- module HsDecls
- module HsExpr
- module HsImpExp
- module HsLit
- module HsPat
- module HsTypes
- module HsUtils
- module HsDoc
- data Fixity
- data HsModule name = HsModule {
  - hsmodName :: Maybe (Located ModuleName)
  - hsmodExports :: Maybe [LIE name]
  - hsmodImports :: [LImportDecl name]
  - hsmodDecls :: [LHsDecl name]
  - hsmodDeprecMessage :: Maybe WarningTxt
  - hsmodHaddockModHeader :: Maybe LHsDocString
  }
- data HsExtCore name = HsExtCore Module [TyClDecl name] [IfaceBinding]

# Documentation

module HsBinds

module HsDecls

module HsExpr

module HsImpExp

module HsLit

module HsPat

module HsTypes

module HsUtils

module HsDoc

data Fixity

Instances

Eq Fixity |
Data Fixity |
Typeable Fixity |
Outputable Fixity |
Binary Fixity |

data HsModule name

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 => Outputable (HsModule name) |

data HsExtCore name

Constructors

HsExtCore Module [TyClDecl name] [IfaceBinding] |