purescript-0.12.0: PureScript Programming Language Compiler

Safe HaskellNone
LanguageHaskell2010

Language.PureScript.Sugar.Names

Synopsis

Documentation

desugarImports :: forall 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.

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.

primEnv :: Env Source #

Environment which only contains the Prim modules.

data ImportRecord a Source #

The details for an import: the name of the thing that is being imported (x if importing from A), the module that the thing was originally defined in (for re-export resolution), and the import provenance (see below).

data ImportProvenance Source #

Used to track how an import was introduced into scope. This allows us to handle the one-open-import special case that allows a name conflict to become a warning rather than being an unresolvable situation.

data Imports Source #

The imported declarations for a module, including the module's own members.

Constructors

Imports 

Fields

Instances

data Exports Source #

The exported declarations from a module.

Constructors

Exports 

Fields

Instances