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
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
Outputable HsComponentId # | |
Defined in GHC.Driver.Backpack.Syntax Methods ppr :: HsComponentId -> SDoc Source # |
Top level unit
declaration in a Backpack file.
Constructors
HsUnit | |
Fields
|
type LHsUnitDecl n = Located (HsUnitDecl n) Source #
data HsUnitDecl n Source #
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 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 |