ghc-7.8.4: The GHC API

Safe Haskell | None
Language | Haskell98

HsImpExp

Synopsis

- type LImportDecl name = Located (ImportDecl name)
- data ImportDecl name = ImportDecl {
  - ideclName :: Located ModuleName
  - ideclPkgQual :: Maybe FastString
  - ideclSource :: Bool
  - ideclSafe :: Bool
  - ideclQualified :: Bool
  - ideclImplicit :: Bool
  - ideclAs :: Maybe ModuleName
  - ideclHiding :: Maybe (Bool, [LIE name])
  }
- simpleImportDecl :: ModuleName -> ImportDecl name
- type LIE name = Located (IE name)
- data IE name
  - = IEVar name
  - | IEThingAbs name
  - | IEThingAll name
  - | IEThingWith name [name]
  - | IEModuleContents ModuleName
  - | IEGroup Int HsDocString
  - | IEDoc HsDocString
  - | IEDocNamed String
- ieName :: IE name -> name
- ieNames :: IE a -> [a]
- pprImpExp :: (HasOccName name, OutputableBndr name) => name -> SDoc

# Documentation

type LImportDecl name = Located (ImportDecl name)

data ImportDecl name

A single Haskell `import` declaration.

Constructors

ImportDecl |

Fields

ideclName :: Located ModuleName

  Module name.

ideclPkgQual :: Maybe FastString

  Package qualifier.

ideclSource :: Bool

  True = {--} import

ideclSafe :: Bool

  True => safe import

ideclQualified :: Bool

  True => qualified

ideclImplicit :: Bool

  True => implicit import (of Prelude)

ideclAs :: Maybe ModuleName

  as Module

ideclHiding :: Maybe (Bool, [LIE name])

  (True => hiding, names)

Instances

Data name => Data (ImportDecl name) |
(OutputableBndr name, HasOccName name) => Outputable (ImportDecl name) |
Typeable (* -> *) ImportDecl |

simpleImportDecl :: ModuleName -> ImportDecl name

type LIE name = Located (IE name)

data IE name

Imported or exported entity.

Constructors

IEVar name |
IEThingAbs name | Class/Type (can't tell)
IEThingAll name | ClassType plus all methodsconstructors
IEThingWith name [name] | ClassType plus some methodsconstructors
IEModuleContents ModuleName | (Export Only)
IEGroup Int HsDocString | Doc section heading
IEDoc HsDocString | Some documentation
IEDocNamed String | Reference to named doc

Instances

Eq name => Eq (IE name) |
Data name => Data (IE name) |
(HasOccName name, OutputableBndr name) => Outputable (IE name) |
Typeable (* -> *) IE |

ieName :: IE name -> name

ieNames :: IE a -> [a]

pprImpExp :: (HasOccName name, OutputableBndr name) => name -> SDoc