| Safe Haskell | None | 
|---|---|
| Language | Haskell2010 | 
BkpSyn
Contents
Description
This is the syntax for bkp files which are parsed in 'ghc --backpack' mode. This syntax is used purely for testing purposes.
Synopsis
- data HsUnitId n = HsUnitId (Located n) [LHsModuleSubst n]
 - type LHsUnitId n = Located (HsUnitId n)
 - type HsModuleSubst n = (Located ModuleName, LHsModuleId n)
 - type LHsModuleSubst n = Located (HsModuleSubst n)
 - data HsModuleId n
- = HsModuleVar (Located ModuleName)
 - | HsModuleId (LHsUnitId n) (Located ModuleName)
 
 - type LHsModuleId n = Located (HsModuleId n)
 - data HsComponentId = HsComponentId {}
 - type LHsUnit n = Located (HsUnit n)
 - data HsUnit n = HsUnit {
- hsunitName :: Located n
 - hsunitBody :: [LHsUnitDecl n]
 
 - type LHsUnitDecl n = Located (HsUnitDecl n)
 - data HsUnitDecl n
- = DeclD HsDeclType (Located ModuleName) (Maybe (Located (HsModule GhcPs)))
 - | IncludeD (IncludeDecl n)
 
 - data HsDeclType
 - data IncludeDecl n = IncludeDecl {
- idUnitId :: LHsUnitId n
 - idModRenaming :: Maybe [LRenaming]
 - idSignatureInclude :: Bool
 
 - type LRenaming = Located Renaming
 - data Renaming = Renaming {}
 
Backpack abstract syntax
type HsModuleSubst n = (Located ModuleName, LHsModuleId n) Source #
type LHsModuleSubst n = Located (HsModuleSubst n) Source #
data HsModuleId n Source #
Constructors
| HsModuleVar (Located ModuleName) | |
| HsModuleId (LHsUnitId n) (Located ModuleName) | 
type LHsModuleId n = Located (HsModuleId n) Source #
data HsComponentId Source #
Constructors
| HsComponentId | |
Fields  | |
Instances
Top level unit declaration in a Backpack file.
Constructors
| HsUnit | |
Fields 
  | |
type LHsUnitDecl n = Located (HsUnitDecl n) Source #
data HsUnitDecl n Source #
Constructors
| DeclD HsDeclType (Located ModuleName) (Maybe (Located (HsModule GhcPs))) | |
| IncludeD (IncludeDecl n) | 
data HsDeclType Source #
A declaration in a package, e.g. a module or signature definition, or an include.
Constructors
| ModuleD | |
| SignatureD | 
data IncludeDecl n Source #
An include of another unit
Constructors
| IncludeDecl | |
Fields 
  | |
Rename a module from one name to another. The identity renaming means that the module should be brought into scope.
Constructors
| Renaming | |
Fields  | |