| Safe Haskell | Safe |
|---|---|
| Language | Haskell98 |
ABS.Compiler.Firstpass.Base
- type ModuleName = String
- type SymbolTables = Map ModuleName SymbolTable
- type SymbolTable = Map SymbolName SymbolValue
- data SymbolName = SN String (Maybe (ModuleName, IsQualified))
- data SymbolValue = SV SymbolType IsExported
- data SymbolType
- type IsQualified = Bool
- type IsExported = Bool
Documentation
type ModuleName = String Source #
type SymbolTables = Map ModuleName SymbolTable Source #
A mapping of Modules to their SymbolTables
type SymbolTable = Map SymbolName SymbolValue Source #
A separate SymbolTable for each module
data SymbolName Source #
Name of the Symbol, coupled with its origin, and if it is qualified-imported
Constructors
| SN String (Maybe (ModuleName, IsQualified)) |
Instances
data SymbolValue Source #
The entry of the Symbol, its symbol type and if it is exported
Constructors
| SV SymbolType IsExported |
Instances
data SymbolType Source #
The different symbol types
Constructors
| Function [U] [T] T | tyvars, input types, output type |
| Datatype | |
| Datacons String [U] [T] T | from which datatype it comes (required by Haskell module system), tyvars, input types, output type |
| Exception | |
| Class [T] [T] | |
| Interface [(String, Maybe [String])] (Map SymbolName [(String, Maybe [String])]) | its direct method names, http-callable formal parameters & map of *all* extends interfaces to their own methods, http-callable formal parameters |
| Foreign |
Instances
type IsQualified = Bool Source #
type IsExported = Bool Source #