|
|
|
Description |
This module deals with finding imported modules and loading their
interface files.
|
|
Synopsis |
|
|
|
Documentation |
|
|
Which directory should form the base of relative include paths?
| Constructors | ProjectRoot | The root directory of the "project" containing the current
file.
| CurrentDir | The current working directory.
|
|
|
|
|
A variant of moduleName' which raises an error if the file name
does not match the module name.
The file name is interpreted relative to the current working
directory (unless it is absolute).
|
|
|
Computes the module name of the top-level module in the given
file.
|
|
|
Merge an interface into the current proof state.
|
|
|
|
|
Scope checks the given module. A proper version of the module
name (with correct definition sites) is returned.
|
|
|
If the module has already been visited (without warnings), then
its interface is returned directly. Otherwise the computation is
used to find the interface and the computed interface is stored for
potential later use.
|
|
|
Warnings.
Invariant: The fields are never empty at the same time.
| Constructors | |
|
|
|
Turns warnings into an error. Even if several errors are possible
only one is raised.
|
|
|
:: FilePath | The file name is interpreted relative to the current
working directory (unless it is absolute).
| -> RelativeTo | | -> Maybe [AbsolutePath] | If this argument is given, and it does not coincide
with the new value of the include directories (after
making them absolute), the state is reset (but the
command-line options are preserved).
| -> TCM (Interface, Maybe Warnings) | | Type checks the given module (if necessary).
The function also makes relative directories absolute, based on the
RelativeTo argument. If this argument is ProjectRoot, then the
"current file" is taken to be the one given as the first
argument.
|
|
|
|
Tries to return the interface associated to the given module. The
time stamp of the relevant interface file is also returned. May
type check the module. An error is raised if a warning is
encountered.
|
|
|
|
|
|
|
|
Writes the given interface to the given file. Returns the file's
new modification time stamp, or Nothing if the write failed.
|
|
|
:: AbsolutePath | The file to type check.
| -> TopLevelModuleName | The expected module name.
| -> TCM (Interface, Either Warnings ClockTime) | | Tries to type check a module and write out its interface. The
function only writes out an interface file if it does not encounter
any warnings.
If appropriate this function writes out syntax highlighting
information.
|
|
|
|
|
|
|
True if the first file is newer than the second file. If a file doesn't
exist it is considered to be infinitely old.
|
|
Produced by Haddock version 2.4.2 |