Agda-2.7.0: A dependently typed functional programming language and proof assistant
Safe HaskellSafe-Inferred
LanguageHaskell2010

Agda.TypeChecking.Monad.Options

Synopsis

Documentation

setPragmaOptions :: PragmaOptions -> TCM () Source #

Sets the pragma options. Checks for unsafe combinations.

checkPragmaOptionConsistency :: PragmaOptions -> PragmaOptions -> TCM () Source #

Check that that you don't turn on inconsistent options. For instance, if --a implies --b and you have both --a and --no-b. Only warn for things that have changed compared to the old options.

setCommandLineOptions :: CommandLineOptions -> TCM () Source #

Sets the command line options (both persistent and pragma options are updated).

Relative include directories are made absolute with respect to the current working directory. If the include directories have changed then the state is reset (partly, see setIncludeDirs).

An empty list of relative include directories (Left []) is interpreted as ["."].

setCommandLineOptions' Source #

Arguments

:: AbsolutePath

The base directory of relative paths.

-> CommandLineOptions 
-> TCM () 

getAgdaLibFiles Source #

Arguments

:: AbsolutePath

The file name.

-> TopLevelModuleName

The top-level module name.

-> TCM [AgdaLibFile] 

Returns the library files for a given file.

Nothing is returned if optUseLibs is False.

An error is raised if optUseLibs is True and a library file is located too far down the directory hierarchy (see checkLibraryFileNotTooFarDown).

getAgdaLibFilesWithoutTopLevelModuleName Source #

Arguments

:: AbsolutePath

The file.

-> TCM [AgdaLibFile] 

Returns potential library files for a file without a known top-level module name.

Once the top-level module name is known one can use checkLibraryFileNotTooFarDown to check that the potential library files were not located too far down the directory hierarchy.

Nothing is returned if optUseLibs is False.

checkLibraryFileNotTooFarDown :: TopLevelModuleName -> AgdaLibFile -> TCM () Source #

Checks that a library file for the module A.B.C (say) in the directory dirAB is located at least two directories above the file (not in dir/A or dirAB).

getLibraryOptions Source #

Arguments

:: AbsolutePath

The file name.

-> TopLevelModuleName

The top-level module name.

-> TCM [OptionsPragma] 

Returns the library options for a given file.

setLibraryPaths Source #

Arguments

:: AbsolutePath

The base directory of relative paths.

-> CommandLineOptions 
-> TCM CommandLineOptions 

addDefaultLibraries Source #

Arguments

:: AbsolutePath

The base directory of relative paths.

-> CommandLineOptions 
-> TCM CommandLineOptions 

setOptionsFromPragma :: OptionsPragma -> TCM () Source #

Set pragma options without checking for consistency.

checkAndSetOptionsFromPragma :: OptionsPragma -> TCM () Source #

Set pragma options and check them for consistency.

enableDisplayForms :: MonadTCEnv m => m a -> m a Source #

Disable display forms.

disableDisplayForms :: MonadTCEnv m => m a -> m a Source #

Disable display forms.

displayFormsEnabled :: MonadTCEnv m => m Bool Source #

Check if display forms are enabled.

getIncludeDirs :: HasOptions m => m [AbsolutePath] Source #

Gets the include directories.

Precondition: optAbsoluteIncludePaths must be nonempty (i.e. setCommandLineOptions must have run).

setIncludeDirs Source #

Arguments

:: [FilePath]

New include directories.

-> AbsolutePath

The base directory of relative paths.

-> TCM () 

Makes the given directories absolute and stores them as include directories.

If the include directories change, then the state is reset (completely, except for the include directories and some other things).

An empty list is interpreted as ["."].

withShowAllArguments :: ReadTCState m => m a -> m a Source #

Switch on printing of implicit and irrelevant arguments. E.g. for reification in with-function generation.

Restores all PragmaOptions after completion. Thus, do not attempt to make persistent PragmaOptions changes in a withShowAllArguments bracket.

withPragmaOptions :: ReadTCState m => (PragmaOptions -> PragmaOptions) -> m a -> m a Source #

Change PragmaOptions for a computation and restore afterwards.

getLanguage :: HasOptions m => m Language Source #

Returns the Language currently in effect.