| Safe Haskell | Safe-Inferred | 
|---|---|
| Language | Haskell2010 | 
GHC.Driver.Backpack.Syntax
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 HscSource (Located ModuleName) (Maybe (Located HsModule))
- | IncludeD (IncludeDecl n)
 
- data IncludeDecl n = IncludeDecl {- idUnitId :: LHsUnitId n
- idModRenaming :: Maybe [LRenaming]
- idSignatureInclude :: Bool
 
- type LRenaming = Located Renaming
- data Renaming = Renaming {}
Backpack abstract syntax
Constructors
| HsUnitId (Located n) [LHsModuleSubst n] | 
type HsModuleSubst n = (Located ModuleName, LHsModuleId n) #
type LHsModuleSubst n = Located (HsModuleSubst n) #
data HsModuleId n #
Constructors
| HsModuleVar (Located ModuleName) | |
| HsModuleId (LHsUnitId n) (Located ModuleName) | 
type LHsModuleId n = Located (HsModuleId n) #
data HsComponentId #
Constructors
| HsComponentId | |
| Fields | |
Instances
| Outputable HsComponentId # | |
| Defined in GHC.Driver.Backpack.Syntax | |
Top level unit declaration in a Backpack file.
Constructors
| HsUnit | |
| Fields 
 | |
type LHsUnitDecl n = Located (HsUnitDecl n) #
data HsUnitDecl n #
A declaration in a package, e.g. a module or signature definition, or an include.
Constructors
| DeclD HscSource (Located ModuleName) (Maybe (Located HsModule)) | |
| IncludeD (IncludeDecl n) | 
data IncludeDecl n #
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 | |