|
|
|
|
|
| Description |
| The scope monad with operations.
|
|
| Synopsis |
|
|
|
|
| The scope checking monad
|
|
|
| To simplify interaction between scope checking and type checking (in
particular when chasing imports), we use the same monad.
|
|
| Errors
|
|
|
|
| General operations
|
|
|
|
|
|
|
|
|
|
|
|
|
| Create a new module with an empty scope
|
|
|
| Apply a function to the scope info.
|
|
|
| Apply a function to the scope map.
|
|
|
| Apply a function to the given scope.
|
|
|
| Apply a function to the current scope.
|
|
|
| Apply a monadic function to the top scope.
|
|
|
|
|
| Apply a function to the public or private name space.
|
|
|
| Set context precedence
|
|
|
|
|
|
|
|
|
|
|
| Run a computation without changing the local variables.
|
|
| Names
|
|
|
| Create a fresh abstract name from a concrete name.
|
|
|
freshAbstractName_ = freshAbstractName defaultFixity |
|
|
| Create a fresh abstract qualified name.
|
|
| Resolving names
|
|
|
|
|
|
| Look up the abstract name referred to by a given concrete name.
|
|
|
| Look up a module in the scope.
|
|
|
| Get the fixity of a name. The name is assumed to be in scope.
|
|
| Binding names
|
|
|
| Bind a variable. The abstract name is supplied as the second argument.
|
|
|
| Bind a defined name. Must not shadow anything.
|
|
|
| Bind a module name.
|
|
|
| Bind a qualified module name. Adds it to the imports field of the scope.
|
|
| Module manipulation operations
|
|
|
| Clear the scope of any no names.
|
|
|
| renamedCanonicalNames old new s returns a renaming replacing all
(abstract) names old.m.x with new.m.x. Any other names are left
untouched.
|
|
|
|
|
|
|
|
|
| Create a new scope with the given name from an old scope. Renames
public names in the old scope to match the new name and returns the
renamings.
|
|
|
| Apply an importdirective and check that all the names mentioned actually
exist.
|
|
|
| Open a module.
|
|
| Produced by Haddock version 2.6.0 |