Safe Haskell | None |
---|---|
Language | Haskell98 |
- desugarImports :: forall m. (Applicative m, MonadError MultipleErrors m, MonadWriter MultipleErrors m) => [ExternsFile] -> [Module] -> m [Module]
- desugarImportsWithEnv :: forall m. (Applicative m, MonadError MultipleErrors m, MonadWriter MultipleErrors m) => [ExternsFile] -> [Module] -> m (Env, [Module])
- type Env = Map ModuleName (SourceSpan, Imports, Exports)
- data Imports = Imports {
- importedTypes :: Map (Qualified (ProperName TypeName)) [(Qualified (ProperName TypeName), ModuleName)]
- importedDataConstructors :: Map (Qualified (ProperName ConstructorName)) [(Qualified (ProperName ConstructorName), ModuleName)]
- importedTypeClasses :: Map (Qualified (ProperName ClassName)) [(Qualified (ProperName ClassName), ModuleName)]
- importedValues :: Map (Qualified Ident) [(Qualified Ident, ModuleName)]
- importedModules :: Set ModuleName
- importedVirtualModules :: Set ModuleName
- data Exports = Exports {
- exportedTypes :: [((ProperName TypeName, [ProperName ConstructorName]), ModuleName)]
- exportedTypeClasses :: [(ProperName ClassName, ModuleName)]
- exportedValues :: [(Ident, ModuleName)]
Documentation
desugarImports :: forall m. (Applicative m, MonadError MultipleErrors m, MonadWriter MultipleErrors m) => [ExternsFile] -> [Module] -> m [Module] Source
Replaces all local names with qualified names within a list of modules. The modules should be topologically sorted beforehand.
desugarImportsWithEnv :: forall m. (Applicative m, MonadError MultipleErrors m, MonadWriter MultipleErrors m) => [ExternsFile] -> [Module] -> m (Env, [Module]) Source
type Env = Map ModuleName (SourceSpan, Imports, Exports) Source
The imports and exports for a collection of modules. The SourceSpan
is used
to store the source location of the module with a given name, used to provide
useful information when there is a duplicate module definition.
The imported declarations for a module, including the module's own members.
Imports | |
|
The exported declarations from a module.
Exports | |
|