| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Language.Haskell.Tools.AST.Modules
Description
Representation of Haskell modules, imports and exports. Also contains file-level pragmas.
- data Module dom stage = Module {
- _filePragmas :: AnnList FilePragma dom stage
- _modHead :: AnnMaybe ModuleHead dom stage
- _modImports :: AnnList ImportDecl dom stage
- _modDecl :: AnnList Decl dom stage
- data ModuleHead dom stage = ModuleHead {
- _mhName :: Ann ModuleName dom stage
- _mhExports :: AnnMaybe ExportSpecList dom stage
- _mhPragma :: AnnMaybe ModulePragma dom stage
- data ExportSpecList dom stage = ExportSpecList {
- _espExports :: AnnList ExportSpec dom stage
- data ExportSpec dom stage
- = DeclExport {
- _exportDecl :: Ann IESpec dom stage
- | ModuleExport {
- _exportModuleName :: Ann ModuleName dom stage
- = DeclExport {
- data IESpec dom stage = IESpec {}
- data SubSpec dom stage
- = SubSpecAll
- | SubSpecList { }
- data FilePragma dom stage
- = LanguagePragma {
- _lpPragmas :: AnnList LanguageExtension dom stage
- | OptionsPragma {
- _opStr :: Ann StringNode dom stage
- = LanguagePragma {
- data ModulePragma dom stage
- = ModuleWarningPragma {
- _modWarningStr :: AnnList StringNode dom stage
- | ModuleDeprecatedPragma {
- _modDeprecatedPragma :: AnnList StringNode dom stage
- = ModuleWarningPragma {
- data LanguageExtension dom stage = LanguageExtension {}
- data ImportDecl dom stage = ImportDecl {
- _importSource :: AnnMaybe ImportSource dom stage
- _importQualified :: AnnMaybe ImportQualified dom stage
- _importSafe :: AnnMaybe ImportSafe dom stage
- _importPkg :: AnnMaybe StringNode dom stage
- _importModule :: Ann ModuleName dom stage
- _importAs :: AnnMaybe ImportRenaming dom stage
- _importSpec :: AnnMaybe ImportSpec dom stage
- data ImportSpec dom stage
- = ImportSpecList {
- _importSpecList :: AnnList IESpec dom stage
- | ImportSpecHiding {
- _importSpecHiding :: AnnList IESpec dom stage
- = ImportSpecList {
- data ImportQualified dom stage = ImportQualified
- data ImportSource dom stage = ImportSource
- data ImportSafe dom stage = ImportSafe
- data TypeNamespace dom stage = TypeNamespace
- data ImportRenaming dom stage = ImportRenaming {
- _importRename :: Ann ModuleName dom stage
Documentation
data Module dom stage Source #
The representation of a haskell module, that is a separate compilation unit. It may or may not have a header.
Constructors
| Module | |
Fields
| |
data ModuleHead dom stage Source #
Module declaration with name and (optional) exports
Constructors
| ModuleHead | |
Fields
| |
Instances
| type Rep (ModuleHead dom stage) Source # | |
data ExportSpecList dom stage Source #
A list of export specifications surrounded by parentheses
Constructors
| ExportSpecList | |
Fields
| |
Instances
| type Rep (ExportSpecList dom stage) Source # | |
data ExportSpec dom stage Source #
Export specifier
Constructors
| DeclExport | Export a name and related names |
Fields
| |
| ModuleExport | The export of an imported module ( |
Fields
| |
Instances
| type Rep (ExportSpec dom stage) Source # | |
data IESpec dom stage Source #
Marks a name to be imported or exported with related names (subspecifier)
data SubSpec dom stage Source #
Marks how related names will be imported or exported with a given name
Constructors
| SubSpecAll | |
| SubSpecList | |
data FilePragma dom stage Source #
Pragmas that must be used before defining the module
Constructors
| LanguagePragma | LANGUAGE pragmdom stage |
Fields
| |
| OptionsPragma | OPTIONS pragma, possibly qualified with a tool, e.g. OPTIONS_GHC |
Fields
| |
Instances
| type Rep (FilePragma dom stage) Source # | |
data ModulePragma dom stage Source #
Pragmas that must be used after the module head
Constructors
| ModuleWarningPragma | a warning pragma attached to the module |
Fields
| |
| ModuleDeprecatedPragma | a deprecated pragma attached to the module |
Fields
| |
Instances
| type Rep (ModulePragma dom stage) Source # | |
data LanguageExtension dom stage Source #
The name of the enabled language extension, for example ( LambdaCase )
Constructors
| LanguageExtension | |
Instances
| type Rep (LanguageExtension dom stage) Source # | |
data ImportDecl dom stage Source #
An import declaration: import Module.Name
Constructors
| ImportDecl | |
Fields
| |
Instances
| type Rep (ImportDecl dom stage) Source # | |
data ImportSpec dom stage Source #
Restriction on the imported names
Constructors
| ImportSpecList | Restrict the import definition to ONLY import the listed names |
Fields
| |
| ImportSpecHiding | Restrict the import definition to DONT import the listed names |
Fields
| |
Instances
| type Rep (ImportSpec dom stage) Source # | |
data ImportQualified dom stage Source #
Marks the import as qualified: qualified
Constructors
| ImportQualified |
Instances
| type Rep (ImportQualified dom stage) Source # | |
data ImportSource dom stage Source #
Constructors
| ImportSource |
Instances
| type Rep (ImportSource dom stage) Source # | |
data ImportSafe dom stage Source #
Marks the import as safe: safe
Constructors
| ImportSafe |
Instances
| type Rep (ImportSafe dom stage) Source # | |
data TypeNamespace dom stage Source #
Marks an imported name to belong to the type namespace: type
Constructors
| TypeNamespace |
Instances
| type Rep (TypeNamespace dom stage) Source # | |
data ImportRenaming dom stage Source #
Renaming imports ( as A )
Constructors
| ImportRenaming | |
Fields
| |
Instances
| type Rep (ImportRenaming dom stage) Source # | |