Safe Haskell | None |
---|---|
Language | Haskell2010 |
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.
Module | |
|
data ModuleHead dom stage Source #
Module declaration with name and (optional) exports
ModuleHead | |
|
type Rep (ModuleHead dom stage) Source # | |
data ExportSpecList dom stage Source #
A list of export specifications surrounded by parentheses
ExportSpecList | |
|
type Rep (ExportSpecList dom stage) Source # | |
data ExportSpec dom stage Source #
Export specifier
DeclExport | Export a name and related names |
| |
ModuleExport | The export of an imported module ( |
|
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
data FilePragma dom stage Source #
Pragmas that must be used before defining the module
LanguagePragma | LANGUAGE pragmdom stage |
| |
OptionsPragma | OPTIONS pragma, possibly qualified with a tool, e.g. OPTIONS_GHC |
|
type Rep (FilePragma dom stage) Source # | |
data ModulePragma dom stage Source #
Pragmas that must be used after the module head
ModuleWarningPragma | a warning pragma attached to the module |
| |
ModuleDeprecatedPragma | a deprecated pragma attached to the module |
|
type Rep (ModulePragma dom stage) Source # | |
data LanguageExtension dom stage Source #
The name of the enabled language extension, for example ( LambdaCase
)
type Rep (LanguageExtension dom stage) Source # | |
data ImportDecl dom stage Source #
An import declaration: import Module.Name
ImportDecl | |
|
type Rep (ImportDecl dom stage) Source # | |
data ImportSpec dom stage Source #
Restriction on the imported names
ImportSpecList | Restrict the import definition to ONLY import the listed names |
| |
ImportSpecHiding | Restrict the import definition to DONT import the listed names |
|
type Rep (ImportSpec dom stage) Source # | |
data ImportQualified dom stage Source #
Marks the import as qualified: qualified
type Rep (ImportQualified dom stage) Source # | |
data ImportSource dom stage Source #
type Rep (ImportSource dom stage) Source # | |
data ImportSafe dom stage Source #
Marks the import as safe: safe
type Rep (ImportSafe dom stage) Source # | |
data TypeNamespace dom stage Source #
Marks an imported name to belong to the type namespace: type
type Rep (TypeNamespace dom stage) Source # | |
data ImportRenaming dom stage Source #
Renaming imports ( as A
)
ImportRenaming | |
|
type Rep (ImportRenaming dom stage) Source # | |