Safe Haskell | Safe-Inferred |
---|
- data Module a n = Module {
- moduleName :: !ModuleName
- moduleExportTypes :: [n]
- moduleExportValues :: [n]
- moduleImportModules :: [ModuleName]
- moduleImportTypes :: [(n, ImportSource n)]
- moduleImportValues :: [(n, ImportSource n)]
- moduleTops :: [Top a n]
- isMainModule :: Module a n -> Bool
- data ExportSource n
- = ExportSourceLocal { }
- | ExportSourceLocalNoType { }
- data ImportSource n
- = ImportSourceAbstract { }
- | ImportSourceModule { }
- | ImportSourceSea { }
- data QualName n = QualName ModuleName n
- data ModuleName = ModuleName [String]
- isMainModuleName :: ModuleName -> Bool
- data Top a n
- data DataDef n = DataDef {
- dataDefTypeName :: !n
- dataDefParams :: [Bind n]
- dataDefCtors :: [DataCtor n]
Modules
Module | |
|
isMainModule :: Module a n -> BoolSource
Check if this is the Main
module.
data ExportSource n
ExportSourceLocal | A name defined in this module, with an explicit type. |
| |
ExportSourceLocalNoType | A named defined in this module, without a type attached. We use this version for source language where we infer the type of the exported thing. |
Eq n => Eq (ExportSource n) | |
Show n => Show (ExportSource n) | |
NFData n => NFData (ExportSource n) |
data ImportSource n
Source of some imported thing.
ImportSourceAbstract | A type imported abstractly. It may be defined in a foreign language, but the Disciple program treats it abstractly. |
ImportSourceModule | Something imported from a Disciple module that we compiled ourself. |
ImportSourceSea | Something imported via the C calling convention. |
Eq n => Eq (ImportSource n) | |
Show n => Show (ImportSource n) | |
NFData n => NFData (ImportSource n) |
Module Names
data QualName n
A fully qualified name, including the name of the module it is from.
data ModuleName
A hierarchical module name.
isMainModuleName :: ModuleName -> Bool
Check whether this is the name of the "Main" module.
Top-level things
Data type definitions
Data type definitions.
DataDef | |
|