This file is indexed.

/usr/share/doc/libghc-cryptol-doc/html/Cryptol-ModuleSystem-Monad.html is in libghc-cryptol-doc 2.2.6-1build1.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

1
2
3
4
5
6
7
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Cryptol.ModuleSystem.Monad</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script type="text/javascript">//<![CDATA[
window.onload = function () {pageLoad();setSynopsis("mini_Cryptol-ModuleSystem-Monad.html");};
//]]>
</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="src/Cryptol-ModuleSystem-Monad.html">Source</a></li><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">cryptol-2.2.6: Cryptol: The Language of Cryptography</p></div><div id="content"><div id="module-header"><table class="info"><tr><th>Copyright</th><td>(c) 2013-2015 Galois, Inc.</td></tr><tr><th>License</th><td>BSD3</td></tr><tr><th>Maintainer</th><td>cryptol@galois.com</td></tr><tr><th>Stability</th><td>provisional</td></tr><tr><th>Portability</th><td>portable</td></tr><tr><th>Safe Haskell</th><td>Safe</td></tr><tr><th>Language</th><td>Haskell98</td></tr></table><p class="caption">Cryptol.ModuleSystem.Monad</p></div><div id="description"><p class="caption">Description</p><div class="doc empty">&nbsp;</div></div><div id="synopsis"><p id="control.syn" class="caption expander" onclick="toggleSection('syn')">Synopsis</p><ul id="section.syn" class="hide" onclick="toggleSection('syn')"><li class="src short"><span class="keyword">data</span> <a href="#t:ImportSource">ImportSource</a><ul class="subs"><li>= <a href="#v:FromModule">FromModule</a> <a href="Cryptol-Parser-AST.html#t:ModName">ModName</a></li><li>| <a href="#v:FromImport">FromImport</a> (<a href="Cryptol-Parser-Position.html#t:Located">Located</a> <a href="Cryptol-Parser-AST.html#t:Import">Import</a>)</li></ul></li><li class="src short"><a href="#v:importedModule">importedModule</a> :: <a href="Cryptol-ModuleSystem-Monad.html#t:ImportSource">ImportSource</a> -&gt; <a href="Cryptol-Parser-AST.html#t:ModName">ModName</a></li><li class="src short"><span class="keyword">data</span> <a href="#t:ModuleError">ModuleError</a><ul class="subs"><li>= <a href="#v:ModuleNotFound">ModuleNotFound</a> <a href="Cryptol-Parser-AST.html#t:ModName">ModName</a> [<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/System-IO.html#t:FilePath">FilePath</a>]</li><li>| <a href="#v:CantFindFile">CantFindFile</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/System-IO.html#t:FilePath">FilePath</a></li><li>| <a href="#v:OtherIOError">OtherIOError</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/System-IO.html#t:FilePath">FilePath</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Control-Exception-Base.html#t:IOException">IOException</a></li><li>| <a href="#v:ModuleParseError">ModuleParseError</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/System-IO.html#t:FilePath">FilePath</a> <a href="Cryptol-Parser.html#t:ParseError">ParseError</a></li><li>| <a href="#v:RecursiveModules">RecursiveModules</a> [<a href="Cryptol-ModuleSystem-Monad.html#t:ImportSource">ImportSource</a>]</li><li>| <a href="#v:RenamerErrors">RenamerErrors</a> <a href="Cryptol-ModuleSystem-Monad.html#t:ImportSource">ImportSource</a> [<a href="Cryptol-ModuleSystem-Renamer.html#t:RenamerError">RenamerError</a>]</li><li>| <a href="#v:NoPatErrors">NoPatErrors</a> <a href="Cryptol-ModuleSystem-Monad.html#t:ImportSource">ImportSource</a> [<a href="Cryptol-Parser-NoPat.html#t:Error">Error</a>]</li><li>| <a href="#v:NoIncludeErrors">NoIncludeErrors</a> <a href="Cryptol-ModuleSystem-Monad.html#t:ImportSource">ImportSource</a> [<a href="Cryptol-Parser-NoInclude.html#t:IncludeError">IncludeError</a>]</li><li>| <a href="#v:TypeCheckingFailed">TypeCheckingFailed</a> <a href="Cryptol-ModuleSystem-Monad.html#t:ImportSource">ImportSource</a> [(<a href="Cryptol-Parser-Position.html#t:Range">Range</a>, <a href="Cryptol-TypeCheck-InferTypes.html#t:Error">Error</a>)]</li><li>| <a href="#v:OtherFailure">OtherFailure</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-String.html#t:String">String</a></li><li>| <a href="#v:ModuleNameMismatch">ModuleNameMismatch</a> <a href="Cryptol-Parser-AST.html#t:ModName">ModName</a> (<a href="Cryptol-Parser-Position.html#t:Located">Located</a> <a href="Cryptol-Parser-AST.html#t:ModName">ModName</a>)</li><li>| <a href="#v:DuplicateModuleName">DuplicateModuleName</a> <a href="Cryptol-Parser-AST.html#t:ModName">ModName</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/System-IO.html#t:FilePath">FilePath</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/System-IO.html#t:FilePath">FilePath</a></li></ul></li><li class="src short"><a href="#v:moduleNotFound">moduleNotFound</a> :: <a href="Cryptol-Parser-AST.html#t:ModName">ModName</a> -&gt; [<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/System-IO.html#t:FilePath">FilePath</a>] -&gt; <a href="Cryptol-ModuleSystem-Monad.html#t:ModuleM">ModuleM</a> a</li><li class="src short"><a href="#v:cantFindFile">cantFindFile</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/System-IO.html#t:FilePath">FilePath</a> -&gt; <a href="Cryptol-ModuleSystem-Monad.html#t:ModuleM">ModuleM</a> a</li><li class="src short"><a href="#v:otherIOError">otherIOError</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/System-IO.html#t:FilePath">FilePath</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Control-Exception-Base.html#t:IOException">IOException</a> -&gt; <a href="Cryptol-ModuleSystem-Monad.html#t:ModuleM">ModuleM</a> a</li><li class="src short"><a href="#v:moduleParseError">moduleParseError</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/System-IO.html#t:FilePath">FilePath</a> -&gt; <a href="Cryptol-Parser.html#t:ParseError">ParseError</a> -&gt; <a href="Cryptol-ModuleSystem-Monad.html#t:ModuleM">ModuleM</a> a</li><li class="src short"><a href="#v:recursiveModules">recursiveModules</a> :: [<a href="Cryptol-ModuleSystem-Monad.html#t:ImportSource">ImportSource</a>] -&gt; <a href="Cryptol-ModuleSystem-Monad.html#t:ModuleM">ModuleM</a> a</li><li class="src short"><a href="#v:renamerErrors">renamerErrors</a> :: [<a href="Cryptol-ModuleSystem-Renamer.html#t:RenamerError">RenamerError</a>] -&gt; <a href="Cryptol-ModuleSystem-Monad.html#t:ModuleM">ModuleM</a> a</li><li class="src short"><a href="#v:noPatErrors">noPatErrors</a> :: [<a href="Cryptol-Parser-NoPat.html#t:Error">Error</a>] -&gt; <a href="Cryptol-ModuleSystem-Monad.html#t:ModuleM">ModuleM</a> a</li><li class="src short"><a href="#v:noIncludeErrors">noIncludeErrors</a> :: [<a href="Cryptol-Parser-NoInclude.html#t:IncludeError">IncludeError</a>] -&gt; <a href="Cryptol-ModuleSystem-Monad.html#t:ModuleM">ModuleM</a> a</li><li class="src short"><a href="#v:typeCheckingFailed">typeCheckingFailed</a> :: [(<a href="Cryptol-Parser-Position.html#t:Range">Range</a>, <a href="Cryptol-TypeCheck-InferTypes.html#t:Error">Error</a>)] -&gt; <a href="Cryptol-ModuleSystem-Monad.html#t:ModuleM">ModuleM</a> a</li><li class="src short"><a href="#v:moduleNameMismatch">moduleNameMismatch</a> :: <a href="Cryptol-Parser-AST.html#t:ModName">ModName</a> -&gt; <a href="Cryptol-Parser-Position.html#t:Located">Located</a> <a href="Cryptol-Parser-AST.html#t:ModName">ModName</a> -&gt; <a href="Cryptol-ModuleSystem-Monad.html#t:ModuleM">ModuleM</a> a</li><li class="src short"><a href="#v:duplicateModuleName">duplicateModuleName</a> :: <a href="Cryptol-Parser-AST.html#t:ModName">ModName</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/System-IO.html#t:FilePath">FilePath</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/System-IO.html#t:FilePath">FilePath</a> -&gt; <a href="Cryptol-ModuleSystem-Monad.html#t:ModuleM">ModuleM</a> a</li><li class="src short"><span class="keyword">data</span> <a href="#t:ModuleWarning">ModuleWarning</a><ul class="subs"><li>= <a href="#v:TypeCheckWarnings">TypeCheckWarnings</a> [(<a href="Cryptol-Parser-Position.html#t:Range">Range</a>, <a href="Cryptol-TypeCheck-InferTypes.html#t:Warning">Warning</a>)]</li><li>| <a href="#v:RenamerWarnings">RenamerWarnings</a> [<a href="Cryptol-ModuleSystem-Renamer.html#t:RenamerWarning">RenamerWarning</a>]</li></ul></li><li class="src short"><a href="#v:warn">warn</a> :: [<a href="Cryptol-ModuleSystem-Monad.html#t:ModuleWarning">ModuleWarning</a>] -&gt; <a href="Cryptol-ModuleSystem-Monad.html#t:ModuleM">ModuleM</a> ()</li><li class="src short"><a href="#v:typeCheckWarnings">typeCheckWarnings</a> :: [(<a href="Cryptol-Parser-Position.html#t:Range">Range</a>, <a href="Cryptol-TypeCheck-InferTypes.html#t:Warning">Warning</a>)] -&gt; <a href="Cryptol-ModuleSystem-Monad.html#t:ModuleM">ModuleM</a> ()</li><li class="src short"><a href="#v:renamerWarnings">renamerWarnings</a> :: [<a href="Cryptol-ModuleSystem-Renamer.html#t:RenamerWarning">RenamerWarning</a>] -&gt; <a href="Cryptol-ModuleSystem-Monad.html#t:ModuleM">ModuleM</a> ()</li><li class="src short"><span class="keyword">data</span> <a href="#t:RO">RO</a> = <a href="#v:RO">RO</a> {<ul class="subs"><li><a href="#v:roLoading">roLoading</a> :: [<a href="Cryptol-ModuleSystem-Monad.html#t:ImportSource">ImportSource</a>]</li></ul>}</li><li class="src short"><a href="#v:emptyRO">emptyRO</a> :: <a href="Cryptol-ModuleSystem-Monad.html#t:RO">RO</a></li><li class="src short"><span class="keyword">newtype</span> <a href="#t:ModuleT">ModuleT</a> m a = <a href="#v:ModuleT">ModuleT</a> {<ul class="subs"><li><a href="#v:unModuleT">unModuleT</a> :: <a href="file:///usr/share/doc/libghc-monadlib-doc/html/MonadLib.html#t:ReaderT">ReaderT</a> <a href="Cryptol-ModuleSystem-Monad.html#t:RO">RO</a> (<a href="file:///usr/share/doc/libghc-monadlib-doc/html/MonadLib.html#t:StateT">StateT</a> <a href="Cryptol-ModuleSystem-Env.html#t:ModuleEnv">ModuleEnv</a> (<a href="file:///usr/share/doc/libghc-monadlib-doc/html/MonadLib.html#t:ExceptionT">ExceptionT</a> <a href="Cryptol-ModuleSystem-Monad.html#t:ModuleError">ModuleError</a> (<a href="file:///usr/share/doc/libghc-monadlib-doc/html/MonadLib.html#t:WriterT">WriterT</a> [<a href="Cryptol-ModuleSystem-Monad.html#t:ModuleWarning">ModuleWarning</a>] m))) a</li></ul>}</li><li class="src short"><a href="#v:runModuleT">runModuleT</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Control-Monad.html#t:Monad">Monad</a> m =&gt; <a href="Cryptol-ModuleSystem-Env.html#t:ModuleEnv">ModuleEnv</a> -&gt; <a href="Cryptol-ModuleSystem-Monad.html#t:ModuleT">ModuleT</a> m a -&gt; m (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Either.html#t:Either">Either</a> <a href="Cryptol-ModuleSystem-Monad.html#t:ModuleError">ModuleError</a> (a, <a href="Cryptol-ModuleSystem-Env.html#t:ModuleEnv">ModuleEnv</a>), [<a href="Cryptol-ModuleSystem-Monad.html#t:ModuleWarning">ModuleWarning</a>])</li><li class="src short"><span class="keyword">type</span> <a href="#t:ModuleM">ModuleM</a> = <a href="Cryptol-ModuleSystem-Monad.html#t:ModuleT">ModuleT</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/System-IO.html#t:IO">IO</a></li><li class="src short"><a href="#v:runModuleM">runModuleM</a> :: <a href="Cryptol-ModuleSystem-Env.html#t:ModuleEnv">ModuleEnv</a> -&gt; <a href="Cryptol-ModuleSystem-Monad.html#t:ModuleM">ModuleM</a> a -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/System-IO.html#t:IO">IO</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Either.html#t:Either">Either</a> <a href="Cryptol-ModuleSystem-Monad.html#t:ModuleError">ModuleError</a> (a, <a href="Cryptol-ModuleSystem-Env.html#t:ModuleEnv">ModuleEnv</a>), [<a href="Cryptol-ModuleSystem-Monad.html#t:ModuleWarning">ModuleWarning</a>])</li><li class="src short"><a href="#v:io">io</a> :: <a href="file:///usr/share/doc/libghc-monadlib-doc/html/MonadLib.html#t:BaseM">BaseM</a> m <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/System-IO.html#t:IO">IO</a> =&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/System-IO.html#t:IO">IO</a> a -&gt; <a href="Cryptol-ModuleSystem-Monad.html#t:ModuleT">ModuleT</a> m a</li><li class="src short"><a href="#v:getModuleEnv">getModuleEnv</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Control-Monad.html#t:Monad">Monad</a> m =&gt; <a href="Cryptol-ModuleSystem-Monad.html#t:ModuleT">ModuleT</a> m <a href="Cryptol-ModuleSystem-Env.html#t:ModuleEnv">ModuleEnv</a></li><li class="src short"><a href="#v:setModuleEnv">setModuleEnv</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Control-Monad.html#t:Monad">Monad</a> m =&gt; <a href="Cryptol-ModuleSystem-Env.html#t:ModuleEnv">ModuleEnv</a> -&gt; <a href="Cryptol-ModuleSystem-Monad.html#t:ModuleT">ModuleT</a> m ()</li><li class="src short"><a href="#v:modifyModuleEnv">modifyModuleEnv</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Control-Monad.html#t:Monad">Monad</a> m =&gt; (<a href="Cryptol-ModuleSystem-Env.html#t:ModuleEnv">ModuleEnv</a> -&gt; <a href="Cryptol-ModuleSystem-Env.html#t:ModuleEnv">ModuleEnv</a>) -&gt; <a href="Cryptol-ModuleSystem-Monad.html#t:ModuleT">ModuleT</a> m ()</li><li class="src short"><a href="#v:isLoaded">isLoaded</a> :: <a href="Cryptol-Parser-AST.html#t:ModName">ModName</a> -&gt; <a href="Cryptol-ModuleSystem-Monad.html#t:ModuleM">ModuleM</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:loadingImport">loadingImport</a> :: <a href="Cryptol-Parser-Position.html#t:Located">Located</a> <a href="Cryptol-Parser-AST.html#t:Import">Import</a> -&gt; <a href="Cryptol-ModuleSystem-Monad.html#t:ModuleM">ModuleM</a> a -&gt; <a href="Cryptol-ModuleSystem-Monad.html#t:ModuleM">ModuleM</a> a</li><li class="src short"><a href="#v:loadingModule">loadingModule</a> :: <a href="Cryptol-Parser-AST.html#t:ModName">ModName</a> -&gt; <a href="Cryptol-ModuleSystem-Monad.html#t:ModuleM">ModuleM</a> a -&gt; <a href="Cryptol-ModuleSystem-Monad.html#t:ModuleM">ModuleM</a> a</li><li class="src short"><a href="#v:interactive">interactive</a> :: <a href="Cryptol-ModuleSystem-Monad.html#t:ModuleM">ModuleM</a> a -&gt; <a href="Cryptol-ModuleSystem-Monad.html#t:ModuleM">ModuleM</a> a</li><li class="src short"><a href="#v:loading">loading</a> :: <a href="Cryptol-ModuleSystem-Monad.html#t:ImportSource">ImportSource</a> -&gt; <a href="Cryptol-ModuleSystem-Monad.html#t:ModuleM">ModuleM</a> a -&gt; <a href="Cryptol-ModuleSystem-Monad.html#t:ModuleM">ModuleM</a> a</li><li class="src short"><a href="#v:getImportSource">getImportSource</a> :: <a href="Cryptol-ModuleSystem-Monad.html#t:ModuleM">ModuleM</a> <a href="Cryptol-ModuleSystem-Monad.html#t:ImportSource">ImportSource</a></li><li class="src short"><a href="#v:getIface">getIface</a> :: <a href="Cryptol-Parser-AST.html#t:ModName">ModName</a> -&gt; <a href="Cryptol-ModuleSystem-Monad.html#t:ModuleM">ModuleM</a> <a href="Cryptol-ModuleSystem-Interface.html#t:Iface">Iface</a></li><li class="src short"><a href="#v:getNameSeeds">getNameSeeds</a> :: <a href="Cryptol-ModuleSystem-Monad.html#t:ModuleM">ModuleM</a> <a href="Cryptol-TypeCheck-Monad.html#t:NameSeeds">NameSeeds</a></li><li class="src short"><a href="#v:getMonoBinds">getMonoBinds</a> :: <a href="Cryptol-ModuleSystem-Monad.html#t:ModuleM">ModuleM</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:setMonoBinds">setMonoBinds</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bool.html#t:Bool">Bool</a> -&gt; <a href="Cryptol-ModuleSystem-Monad.html#t:ModuleM">ModuleM</a> ()</li><li class="src short"><a href="#v:setNameSeeds">setNameSeeds</a> :: <a href="Cryptol-TypeCheck-Monad.html#t:NameSeeds">NameSeeds</a> -&gt; <a href="Cryptol-ModuleSystem-Monad.html#t:ModuleM">ModuleM</a> ()</li><li class="src short"><a href="#v:unloadModule">unloadModule</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/System-IO.html#t:FilePath">FilePath</a> -&gt; <a href="Cryptol-ModuleSystem-Monad.html#t:ModuleM">ModuleM</a> ()</li><li class="src short"><a href="#v:loadedModule">loadedModule</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/System-IO.html#t:FilePath">FilePath</a> -&gt; <a href="Cryptol-TypeCheck-AST.html#t:Module">Module</a> -&gt; <a href="Cryptol-ModuleSystem-Monad.html#t:ModuleM">ModuleM</a> ()</li><li class="src short"><a href="#v:modifyEvalEnv">modifyEvalEnv</a> :: (<a href="Cryptol-Eval-Env.html#t:EvalEnv">EvalEnv</a> -&gt; <a href="Cryptol-Eval-Env.html#t:EvalEnv">EvalEnv</a>) -&gt; <a href="Cryptol-ModuleSystem-Monad.html#t:ModuleM">ModuleM</a> ()</li><li class="src short"><a href="#v:getEvalEnv">getEvalEnv</a> :: <a href="Cryptol-ModuleSystem-Monad.html#t:ModuleM">ModuleM</a> <a href="Cryptol-Eval-Env.html#t:EvalEnv">EvalEnv</a></li><li class="src short"><a href="#v:getFocusedModule">getFocusedModule</a> :: <a href="Cryptol-ModuleSystem-Monad.html#t:ModuleM">ModuleM</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Cryptol-Parser-AST.html#t:ModName">ModName</a>)</li><li class="src short"><a href="#v:setFocusedModule">setFocusedModule</a> :: <a href="Cryptol-Parser-AST.html#t:ModName">ModName</a> -&gt; <a href="Cryptol-ModuleSystem-Monad.html#t:ModuleM">ModuleM</a> ()</li><li class="src short"><a href="#v:getSearchPath">getSearchPath</a> :: <a href="Cryptol-ModuleSystem-Monad.html#t:ModuleM">ModuleM</a> [<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/System-IO.html#t:FilePath">FilePath</a>]</li><li class="src short"><a href="#v:withPrependedSearchPath">withPrependedSearchPath</a> :: [<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/System-IO.html#t:FilePath">FilePath</a>] -&gt; <a href="Cryptol-ModuleSystem-Monad.html#t:ModuleM">ModuleM</a> a -&gt; <a href="Cryptol-ModuleSystem-Monad.html#t:ModuleM">ModuleM</a> a</li><li class="src short"><a href="#v:getFocusedEnv">getFocusedEnv</a> :: <a href="Cryptol-ModuleSystem-Monad.html#t:ModuleM">ModuleM</a> <a href="Cryptol-ModuleSystem-Interface.html#t:IfaceDecls">IfaceDecls</a></li><li class="src short"><a href="#v:getQualifiedEnv">getQualifiedEnv</a> :: <a href="Cryptol-ModuleSystem-Monad.html#t:ModuleM">ModuleM</a> <a href="Cryptol-ModuleSystem-Interface.html#t:IfaceDecls">IfaceDecls</a></li><li class="src short"><a href="#v:getDynEnv">getDynEnv</a> :: <a href="Cryptol-ModuleSystem-Monad.html#t:ModuleM">ModuleM</a> <a href="Cryptol-ModuleSystem-Env.html#t:DynamicEnv">DynamicEnv</a></li><li class="src short"><a href="#v:setDynEnv">setDynEnv</a> :: <a href="Cryptol-ModuleSystem-Env.html#t:DynamicEnv">DynamicEnv</a> -&gt; <a href="Cryptol-ModuleSystem-Monad.html#t:ModuleM">ModuleM</a> ()</li></ul></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src"><span class="keyword">data</span> <a name="t:ImportSource" class="def">ImportSource</a> <a href="src/Cryptol-ModuleSystem-Monad.html#ImportSource" class="link">Source</a></p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:FromModule" class="def">FromModule</a> <a href="Cryptol-Parser-AST.html#t:ModName">ModName</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:FromImport" class="def">FromImport</a> (<a href="Cryptol-Parser-Position.html#t:Located">Located</a> <a href="Cryptol-Parser-AST.html#t:Import">Import</a>)</td><td class="doc empty">&nbsp;</td></tr></table></div><div class="subs instances"><p id="control.i:ImportSource" class="caption collapser" onclick="toggleSection('i:ImportSource')">Instances</p><div id="section.i:ImportSource" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Eq.html#t:Eq">Eq</a> <a href="Cryptol-ModuleSystem-Monad.html#t:ImportSource">ImportSource</a></span> <a href="src/Cryptol-ModuleSystem-Monad.html#line-44" class="link">Source</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src clearfix"><span class="inst-left"><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Text-Show.html#t:Show">Show</a> <a href="Cryptol-ModuleSystem-Monad.html#t:ImportSource">ImportSource</a></span> <a href="src/Cryptol-ModuleSystem-Monad.html#line-42" class="link">Source</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src clearfix"><span class="inst-left"><a href="Cryptol-Utils-PP.html#t:PP">PP</a> <a href="Cryptol-ModuleSystem-Monad.html#t:ImportSource">ImportSource</a></span> <a href="src/Cryptol-ModuleSystem-Monad.html#line-47" class="link">Source</a></td><td class="doc empty">&nbsp;</td></tr></table></div></div></div><div class="top"><p class="src"><a name="v:importedModule" class="def">importedModule</a> :: <a href="Cryptol-ModuleSystem-Monad.html#t:ImportSource">ImportSource</a> -&gt; <a href="Cryptol-Parser-AST.html#t:ModName">ModName</a> <a href="src/Cryptol-ModuleSystem-Monad.html#importedModule" class="link">Source</a></p></div><div class="top"><p class="src"><span class="keyword">data</span> <a name="t:ModuleError" class="def">ModuleError</a> <a href="src/Cryptol-ModuleSystem-Monad.html#ModuleError" class="link">Source</a></p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:ModuleNotFound" class="def">ModuleNotFound</a> <a href="Cryptol-Parser-AST.html#t:ModName">ModName</a> [<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/System-IO.html#t:FilePath">FilePath</a>]</td><td class="doc"><p>Unable to find the module given, tried looking in these paths</p></td></tr><tr><td class="src"><a name="v:CantFindFile" class="def">CantFindFile</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/System-IO.html#t:FilePath">FilePath</a></td><td class="doc"><p>Unable to open a file</p></td></tr><tr><td class="src"><a name="v:OtherIOError" class="def">OtherIOError</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/System-IO.html#t:FilePath">FilePath</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Control-Exception-Base.html#t:IOException">IOException</a></td><td class="doc"><p>Some other IO error occurred while reading this file</p></td></tr><tr><td class="src"><a name="v:ModuleParseError" class="def">ModuleParseError</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/System-IO.html#t:FilePath">FilePath</a> <a href="Cryptol-Parser.html#t:ParseError">ParseError</a></td><td class="doc"><p>Generated this parse error when parsing the file for module m</p></td></tr><tr><td class="src"><a name="v:RecursiveModules" class="def">RecursiveModules</a> [<a href="Cryptol-ModuleSystem-Monad.html#t:ImportSource">ImportSource</a>]</td><td class="doc"><p>Recursive module group discovered</p></td></tr><tr><td class="src"><a name="v:RenamerErrors" class="def">RenamerErrors</a> <a href="Cryptol-ModuleSystem-Monad.html#t:ImportSource">ImportSource</a> [<a href="Cryptol-ModuleSystem-Renamer.html#t:RenamerError">RenamerError</a>]</td><td class="doc"><p>Problems during the renaming phase</p></td></tr><tr><td class="src"><a name="v:NoPatErrors" class="def">NoPatErrors</a> <a href="Cryptol-ModuleSystem-Monad.html#t:ImportSource">ImportSource</a> [<a href="Cryptol-Parser-NoPat.html#t:Error">Error</a>]</td><td class="doc"><p>Problems during the NoPat phase</p></td></tr><tr><td class="src"><a name="v:NoIncludeErrors" class="def">NoIncludeErrors</a> <a href="Cryptol-ModuleSystem-Monad.html#t:ImportSource">ImportSource</a> [<a href="Cryptol-Parser-NoInclude.html#t:IncludeError">IncludeError</a>]</td><td class="doc"><p>Problems during the NoInclude phase</p></td></tr><tr><td class="src"><a name="v:TypeCheckingFailed" class="def">TypeCheckingFailed</a> <a href="Cryptol-ModuleSystem-Monad.html#t:ImportSource">ImportSource</a> [(<a href="Cryptol-Parser-Position.html#t:Range">Range</a>, <a href="Cryptol-TypeCheck-InferTypes.html#t:Error">Error</a>)]</td><td class="doc"><p>Problems during type checking</p></td></tr><tr><td class="src"><a name="v:OtherFailure" class="def">OtherFailure</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-String.html#t:String">String</a></td><td class="doc"><p>Problems after type checking, eg. specialization</p></td></tr><tr><td class="src"><a name="v:ModuleNameMismatch" class="def">ModuleNameMismatch</a> <a href="Cryptol-Parser-AST.html#t:ModName">ModName</a> (<a href="Cryptol-Parser-Position.html#t:Located">Located</a> <a href="Cryptol-Parser-AST.html#t:ModName">ModName</a>)</td><td class="doc"><p>Module loaded by 'import' statement has the wrong module name</p></td></tr><tr><td class="src"><a name="v:DuplicateModuleName" class="def">DuplicateModuleName</a> <a href="Cryptol-Parser-AST.html#t:ModName">ModName</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/System-IO.html#t:FilePath">FilePath</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/System-IO.html#t:FilePath">FilePath</a></td><td class="doc"><p>Two modules loaded from different files have the same module name</p></td></tr></table></div><div class="subs instances"><p id="control.i:ModuleError" class="caption collapser" onclick="toggleSection('i:ModuleError')">Instances</p><div id="section.i:ModuleError" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Text-Show.html#t:Show">Show</a> <a href="Cryptol-ModuleSystem-Monad.html#t:ModuleError">ModuleError</a></span> <a href="src/Cryptol-ModuleSystem-Monad.html#line-83" class="link">Source</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src clearfix"><span class="inst-left"><a href="Cryptol-Utils-PP.html#t:PP">PP</a> <a href="Cryptol-ModuleSystem-Monad.html#t:ModuleError">ModuleError</a></span> <a href="src/Cryptol-ModuleSystem-Monad.html#line-85" class="link">Source</a></td><td class="doc empty">&nbsp;</td></tr></table></div></div></div><div class="top"><p class="src"><a name="v:moduleNotFound" class="def">moduleNotFound</a> :: <a href="Cryptol-Parser-AST.html#t:ModName">ModName</a> -&gt; [<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/System-IO.html#t:FilePath">FilePath</a>] -&gt; <a href="Cryptol-ModuleSystem-Monad.html#t:ModuleM">ModuleM</a> a <a href="src/Cryptol-ModuleSystem-Monad.html#moduleNotFound" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:cantFindFile" class="def">cantFindFile</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/System-IO.html#t:FilePath">FilePath</a> -&gt; <a href="Cryptol-ModuleSystem-Monad.html#t:ModuleM">ModuleM</a> a <a href="src/Cryptol-ModuleSystem-Monad.html#cantFindFile" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:otherIOError" class="def">otherIOError</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/System-IO.html#t:FilePath">FilePath</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Control-Exception-Base.html#t:IOException">IOException</a> -&gt; <a href="Cryptol-ModuleSystem-Monad.html#t:ModuleM">ModuleM</a> a <a href="src/Cryptol-ModuleSystem-Monad.html#otherIOError" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:moduleParseError" class="def">moduleParseError</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/System-IO.html#t:FilePath">FilePath</a> -&gt; <a href="Cryptol-Parser.html#t:ParseError">ParseError</a> -&gt; <a href="Cryptol-ModuleSystem-Monad.html#t:ModuleM">ModuleM</a> a <a href="src/Cryptol-ModuleSystem-Monad.html#moduleParseError" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:recursiveModules" class="def">recursiveModules</a> :: [<a href="Cryptol-ModuleSystem-Monad.html#t:ImportSource">ImportSource</a>] -&gt; <a href="Cryptol-ModuleSystem-Monad.html#t:ModuleM">ModuleM</a> a <a href="src/Cryptol-ModuleSystem-Monad.html#recursiveModules" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:renamerErrors" class="def">renamerErrors</a> :: [<a href="Cryptol-ModuleSystem-Renamer.html#t:RenamerError">RenamerError</a>] -&gt; <a href="Cryptol-ModuleSystem-Monad.html#t:ModuleM">ModuleM</a> a <a href="src/Cryptol-ModuleSystem-Monad.html#renamerErrors" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:noPatErrors" class="def">noPatErrors</a> :: [<a href="Cryptol-Parser-NoPat.html#t:Error">Error</a>] -&gt; <a href="Cryptol-ModuleSystem-Monad.html#t:ModuleM">ModuleM</a> a <a href="src/Cryptol-ModuleSystem-Monad.html#noPatErrors" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:noIncludeErrors" class="def">noIncludeErrors</a> :: [<a href="Cryptol-Parser-NoInclude.html#t:IncludeError">IncludeError</a>] -&gt; <a href="Cryptol-ModuleSystem-Monad.html#t:ModuleM">ModuleM</a> a <a href="src/Cryptol-ModuleSystem-Monad.html#noIncludeErrors" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:typeCheckingFailed" class="def">typeCheckingFailed</a> :: [(<a href="Cryptol-Parser-Position.html#t:Range">Range</a>, <a href="Cryptol-TypeCheck-InferTypes.html#t:Error">Error</a>)] -&gt; <a href="Cryptol-ModuleSystem-Monad.html#t:ModuleM">ModuleM</a> a <a href="src/Cryptol-ModuleSystem-Monad.html#typeCheckingFailed" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:moduleNameMismatch" class="def">moduleNameMismatch</a> :: <a href="Cryptol-Parser-AST.html#t:ModName">ModName</a> -&gt; <a href="Cryptol-Parser-Position.html#t:Located">Located</a> <a href="Cryptol-Parser-AST.html#t:ModName">ModName</a> -&gt; <a href="Cryptol-ModuleSystem-Monad.html#t:ModuleM">ModuleM</a> a <a href="src/Cryptol-ModuleSystem-Monad.html#moduleNameMismatch" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:duplicateModuleName" class="def">duplicateModuleName</a> :: <a href="Cryptol-Parser-AST.html#t:ModName">ModName</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/System-IO.html#t:FilePath">FilePath</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/System-IO.html#t:FilePath">FilePath</a> -&gt; <a href="Cryptol-ModuleSystem-Monad.html#t:ModuleM">ModuleM</a> a <a href="src/Cryptol-ModuleSystem-Monad.html#duplicateModuleName" class="link">Source</a></p></div><div class="top"><p class="src"><span class="keyword">data</span> <a name="t:ModuleWarning" class="def">ModuleWarning</a> <a href="src/Cryptol-ModuleSystem-Monad.html#ModuleWarning" class="link">Source</a></p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:TypeCheckWarnings" class="def">TypeCheckWarnings</a> [(<a href="Cryptol-Parser-Position.html#t:Range">Range</a>, <a href="Cryptol-TypeCheck-InferTypes.html#t:Warning">Warning</a>)]</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:RenamerWarnings" class="def">RenamerWarnings</a> [<a href="Cryptol-ModuleSystem-Renamer.html#t:RenamerWarning">RenamerWarning</a>]</td><td class="doc empty">&nbsp;</td></tr></table></div><div class="subs instances"><p id="control.i:ModuleWarning" class="caption collapser" onclick="toggleSection('i:ModuleWarning')">Instances</p><div id="section.i:ModuleWarning" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Text-Show.html#t:Show">Show</a> <a href="Cryptol-ModuleSystem-Monad.html#t:ModuleWarning">ModuleWarning</a></span> <a href="src/Cryptol-ModuleSystem-Monad.html#line-187" class="link">Source</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src clearfix"><span class="inst-left"><a href="Cryptol-Utils-PP.html#t:PP">PP</a> <a href="Cryptol-ModuleSystem-Monad.html#t:ModuleWarning">ModuleWarning</a></span> <a href="src/Cryptol-ModuleSystem-Monad.html#line-189" class="link">Source</a></td><td class="doc empty">&nbsp;</td></tr></table></div></div></div><div class="top"><p class="src"><a name="v:warn" class="def">warn</a> :: [<a href="Cryptol-ModuleSystem-Monad.html#t:ModuleWarning">ModuleWarning</a>] -&gt; <a href="Cryptol-ModuleSystem-Monad.html#t:ModuleM">ModuleM</a> () <a href="src/Cryptol-ModuleSystem-Monad.html#warn" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:typeCheckWarnings" class="def">typeCheckWarnings</a> :: [(<a href="Cryptol-Parser-Position.html#t:Range">Range</a>, <a href="Cryptol-TypeCheck-InferTypes.html#t:Warning">Warning</a>)] -&gt; <a href="Cryptol-ModuleSystem-Monad.html#t:ModuleM">ModuleM</a> () <a href="src/Cryptol-ModuleSystem-Monad.html#typeCheckWarnings" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:renamerWarnings" class="def">renamerWarnings</a> :: [<a href="Cryptol-ModuleSystem-Renamer.html#t:RenamerWarning">RenamerWarning</a>] -&gt; <a href="Cryptol-ModuleSystem-Monad.html#t:ModuleM">ModuleM</a> () <a href="src/Cryptol-ModuleSystem-Monad.html#renamerWarnings" class="link">Source</a></p></div><div class="top"><p class="src"><span class="keyword">data</span> <a name="t:RO" class="def">RO</a> <a href="src/Cryptol-ModuleSystem-Monad.html#RO" class="link">Source</a></p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:RO" class="def">RO</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><dl><dt class="src"><a name="v:roLoading" class="def">roLoading</a> :: [<a href="Cryptol-ModuleSystem-Monad.html#t:ImportSource">ImportSource</a>]</dt><dd class="doc empty">&nbsp;</dd></dl><div class="clear"></div></div></td></tr></table></div></div><div class="top"><p class="src"><a name="v:emptyRO" class="def">emptyRO</a> :: <a href="Cryptol-ModuleSystem-Monad.html#t:RO">RO</a> <a href="src/Cryptol-ModuleSystem-Monad.html#emptyRO" class="link">Source</a></p></div><div class="top"><p class="src"><span class="keyword">newtype</span> <a name="t:ModuleT" class="def">ModuleT</a> m a <a href="src/Cryptol-ModuleSystem-Monad.html#ModuleT" class="link">Source</a></p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:ModuleT" class="def">ModuleT</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><dl><dt class="src"><a name="v:unModuleT" class="def">unModuleT</a> :: <a href="file:///usr/share/doc/libghc-monadlib-doc/html/MonadLib.html#t:ReaderT">ReaderT</a> <a href="Cryptol-ModuleSystem-Monad.html#t:RO">RO</a> (<a href="file:///usr/share/doc/libghc-monadlib-doc/html/MonadLib.html#t:StateT">StateT</a> <a href="Cryptol-ModuleSystem-Env.html#t:ModuleEnv">ModuleEnv</a> (<a href="file:///usr/share/doc/libghc-monadlib-doc/html/MonadLib.html#t:ExceptionT">ExceptionT</a> <a href="Cryptol-ModuleSystem-Monad.html#t:ModuleError">ModuleError</a> (<a href="file:///usr/share/doc/libghc-monadlib-doc/html/MonadLib.html#t:WriterT">WriterT</a> [<a href="Cryptol-ModuleSystem-Monad.html#t:ModuleWarning">ModuleWarning</a>] m))) a</dt><dd class="doc empty">&nbsp;</dd></dl><div class="clear"></div></div></td></tr></table></div><div class="subs instances"><p id="control.i:ModuleT" class="caption collapser" onclick="toggleSection('i:ModuleT')">Instances</p><div id="section.i:ModuleT" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><a href="file:///usr/share/doc/libghc-monadlib-doc/html/MonadLib.html#t:MonadT">MonadT</a> <a href="Cryptol-ModuleSystem-Monad.html#t:ModuleT">ModuleT</a></span> <a href="src/Cryptol-ModuleSystem-Monad.html#line-242" class="link">Source</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src clearfix"><span class="inst-left"><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Control-Monad.html#t:Monad">Monad</a> m =&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Control-Monad.html#t:Monad">Monad</a> (<a href="Cryptol-ModuleSystem-Monad.html#t:ModuleT">ModuleT</a> m)</span> <a href="src/Cryptol-ModuleSystem-Monad.html#line-233" class="link">Source</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src clearfix"><span class="inst-left"><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Control-Monad.html#t:Monad">Monad</a> m =&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Functor.html#t:Functor">Functor</a> (<a href="Cryptol-ModuleSystem-Monad.html#t:ModuleT">ModuleT</a> m)</span> <a href="src/Cryptol-ModuleSystem-Monad.html#line-222" class="link">Source</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src clearfix"><span class="inst-left"><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Control-Monad.html#t:Monad">Monad</a> m =&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Control-Applicative.html#t:Applicative">Applicative</a> (<a href="Cryptol-ModuleSystem-Monad.html#t:ModuleT">ModuleT</a> m)</span> <a href="src/Cryptol-ModuleSystem-Monad.html#line-226" class="link">Source</a></td><td class="doc empty">&nbsp;</td></tr></table></div></div></div><div class="top"><p class="src"><a name="v:runModuleT" class="def">runModuleT</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Control-Monad.html#t:Monad">Monad</a> m =&gt; <a href="Cryptol-ModuleSystem-Env.html#t:ModuleEnv">ModuleEnv</a> -&gt; <a href="Cryptol-ModuleSystem-Monad.html#t:ModuleT">ModuleT</a> m a -&gt; m (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Either.html#t:Either">Either</a> <a href="Cryptol-ModuleSystem-Monad.html#t:ModuleError">ModuleError</a> (a, <a href="Cryptol-ModuleSystem-Env.html#t:ModuleEnv">ModuleEnv</a>), [<a href="Cryptol-ModuleSystem-Monad.html#t:ModuleWarning">ModuleWarning</a>]) <a href="src/Cryptol-ModuleSystem-Monad.html#runModuleT" class="link">Source</a></p></div><div class="top"><p class="src"><span class="keyword">type</span> <a name="t:ModuleM" class="def">ModuleM</a> = <a href="Cryptol-ModuleSystem-Monad.html#t:ModuleT">ModuleT</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/System-IO.html#t:IO">IO</a> <a href="src/Cryptol-ModuleSystem-Monad.html#ModuleM" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:runModuleM" class="def">runModuleM</a> :: <a href="Cryptol-ModuleSystem-Env.html#t:ModuleEnv">ModuleEnv</a> -&gt; <a href="Cryptol-ModuleSystem-Monad.html#t:ModuleM">ModuleM</a> a -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/System-IO.html#t:IO">IO</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Either.html#t:Either">Either</a> <a href="Cryptol-ModuleSystem-Monad.html#t:ModuleError">ModuleError</a> (a, <a href="Cryptol-ModuleSystem-Env.html#t:ModuleEnv">ModuleEnv</a>), [<a href="Cryptol-ModuleSystem-Monad.html#t:ModuleWarning">ModuleWarning</a>]) <a href="src/Cryptol-ModuleSystem-Monad.html#runModuleM" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:io" class="def">io</a> :: <a href="file:///usr/share/doc/libghc-monadlib-doc/html/MonadLib.html#t:BaseM">BaseM</a> m <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/System-IO.html#t:IO">IO</a> =&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/System-IO.html#t:IO">IO</a> a -&gt; <a href="Cryptol-ModuleSystem-Monad.html#t:ModuleT">ModuleT</a> m a <a href="src/Cryptol-ModuleSystem-Monad.html#io" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:getModuleEnv" class="def">getModuleEnv</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Control-Monad.html#t:Monad">Monad</a> m =&gt; <a href="Cryptol-ModuleSystem-Monad.html#t:ModuleT">ModuleT</a> m <a href="Cryptol-ModuleSystem-Env.html#t:ModuleEnv">ModuleEnv</a> <a href="src/Cryptol-ModuleSystem-Monad.html#getModuleEnv" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:setModuleEnv" class="def">setModuleEnv</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Control-Monad.html#t:Monad">Monad</a> m =&gt; <a href="Cryptol-ModuleSystem-Env.html#t:ModuleEnv">ModuleEnv</a> -&gt; <a href="Cryptol-ModuleSystem-Monad.html#t:ModuleT">ModuleT</a> m () <a href="src/Cryptol-ModuleSystem-Monad.html#setModuleEnv" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:modifyModuleEnv" class="def">modifyModuleEnv</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Control-Monad.html#t:Monad">Monad</a> m =&gt; (<a href="Cryptol-ModuleSystem-Env.html#t:ModuleEnv">ModuleEnv</a> -&gt; <a href="Cryptol-ModuleSystem-Env.html#t:ModuleEnv">ModuleEnv</a>) -&gt; <a href="Cryptol-ModuleSystem-Monad.html#t:ModuleT">ModuleT</a> m () <a href="src/Cryptol-ModuleSystem-Monad.html#modifyModuleEnv" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:isLoaded" class="def">isLoaded</a> :: <a href="Cryptol-Parser-AST.html#t:ModName">ModName</a> -&gt; <a href="Cryptol-ModuleSystem-Monad.html#t:ModuleM">ModuleM</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bool.html#t:Bool">Bool</a> <a href="src/Cryptol-ModuleSystem-Monad.html#isLoaded" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:loadingImport" class="def">loadingImport</a> :: <a href="Cryptol-Parser-Position.html#t:Located">Located</a> <a href="Cryptol-Parser-AST.html#t:Import">Import</a> -&gt; <a href="Cryptol-ModuleSystem-Monad.html#t:ModuleM">ModuleM</a> a -&gt; <a href="Cryptol-ModuleSystem-Monad.html#t:ModuleM">ModuleM</a> a <a href="src/Cryptol-ModuleSystem-Monad.html#loadingImport" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:loadingModule" class="def">loadingModule</a> :: <a href="Cryptol-Parser-AST.html#t:ModName">ModName</a> -&gt; <a href="Cryptol-ModuleSystem-Monad.html#t:ModuleM">ModuleM</a> a -&gt; <a href="Cryptol-ModuleSystem-Monad.html#t:ModuleM">ModuleM</a> a <a href="src/Cryptol-ModuleSystem-Monad.html#loadingModule" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:interactive" class="def">interactive</a> :: <a href="Cryptol-ModuleSystem-Monad.html#t:ModuleM">ModuleM</a> a -&gt; <a href="Cryptol-ModuleSystem-Monad.html#t:ModuleM">ModuleM</a> a <a href="src/Cryptol-ModuleSystem-Monad.html#interactive" class="link">Source</a></p><div class="doc"><p>Push an &quot;interactive&quot; context onto the loading stack.  A bit of a hack, as
 it uses a faked module name</p></div></div><div class="top"><p class="src"><a name="v:loading" class="def">loading</a> :: <a href="Cryptol-ModuleSystem-Monad.html#t:ImportSource">ImportSource</a> -&gt; <a href="Cryptol-ModuleSystem-Monad.html#t:ModuleM">ModuleM</a> a -&gt; <a href="Cryptol-ModuleSystem-Monad.html#t:ModuleM">ModuleM</a> a <a href="src/Cryptol-ModuleSystem-Monad.html#loading" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:getImportSource" class="def">getImportSource</a> :: <a href="Cryptol-ModuleSystem-Monad.html#t:ModuleM">ModuleM</a> <a href="Cryptol-ModuleSystem-Monad.html#t:ImportSource">ImportSource</a> <a href="src/Cryptol-ModuleSystem-Monad.html#getImportSource" class="link">Source</a></p><div class="doc"><p>Get the currently focused import source.</p></div></div><div class="top"><p class="src"><a name="v:getIface" class="def">getIface</a> :: <a href="Cryptol-Parser-AST.html#t:ModName">ModName</a> -&gt; <a href="Cryptol-ModuleSystem-Monad.html#t:ModuleM">ModuleM</a> <a href="Cryptol-ModuleSystem-Interface.html#t:Iface">Iface</a> <a href="src/Cryptol-ModuleSystem-Monad.html#getIface" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:getNameSeeds" class="def">getNameSeeds</a> :: <a href="Cryptol-ModuleSystem-Monad.html#t:ModuleM">ModuleM</a> <a href="Cryptol-TypeCheck-Monad.html#t:NameSeeds">NameSeeds</a> <a href="src/Cryptol-ModuleSystem-Monad.html#getNameSeeds" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:getMonoBinds" class="def">getMonoBinds</a> :: <a href="Cryptol-ModuleSystem-Monad.html#t:ModuleM">ModuleM</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bool.html#t:Bool">Bool</a> <a href="src/Cryptol-ModuleSystem-Monad.html#getMonoBinds" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:setMonoBinds" class="def">setMonoBinds</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bool.html#t:Bool">Bool</a> -&gt; <a href="Cryptol-ModuleSystem-Monad.html#t:ModuleM">ModuleM</a> () <a href="src/Cryptol-ModuleSystem-Monad.html#setMonoBinds" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:setNameSeeds" class="def">setNameSeeds</a> :: <a href="Cryptol-TypeCheck-Monad.html#t:NameSeeds">NameSeeds</a> -&gt; <a href="Cryptol-ModuleSystem-Monad.html#t:ModuleM">ModuleM</a> () <a href="src/Cryptol-ModuleSystem-Monad.html#setNameSeeds" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:unloadModule" class="def">unloadModule</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/System-IO.html#t:FilePath">FilePath</a> -&gt; <a href="Cryptol-ModuleSystem-Monad.html#t:ModuleM">ModuleM</a> () <a href="src/Cryptol-ModuleSystem-Monad.html#unloadModule" class="link">Source</a></p><div class="doc"><p>Remove a module from the set of loaded module, by its path.</p></div></div><div class="top"><p class="src"><a name="v:loadedModule" class="def">loadedModule</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/System-IO.html#t:FilePath">FilePath</a> -&gt; <a href="Cryptol-TypeCheck-AST.html#t:Module">Module</a> -&gt; <a href="Cryptol-ModuleSystem-Monad.html#t:ModuleM">ModuleM</a> () <a href="src/Cryptol-ModuleSystem-Monad.html#loadedModule" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:modifyEvalEnv" class="def">modifyEvalEnv</a> :: (<a href="Cryptol-Eval-Env.html#t:EvalEnv">EvalEnv</a> -&gt; <a href="Cryptol-Eval-Env.html#t:EvalEnv">EvalEnv</a>) -&gt; <a href="Cryptol-ModuleSystem-Monad.html#t:ModuleM">ModuleM</a> () <a href="src/Cryptol-ModuleSystem-Monad.html#modifyEvalEnv" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:getEvalEnv" class="def">getEvalEnv</a> :: <a href="Cryptol-ModuleSystem-Monad.html#t:ModuleM">ModuleM</a> <a href="Cryptol-Eval-Env.html#t:EvalEnv">EvalEnv</a> <a href="src/Cryptol-ModuleSystem-Monad.html#getEvalEnv" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:getFocusedModule" class="def">getFocusedModule</a> :: <a href="Cryptol-ModuleSystem-Monad.html#t:ModuleM">ModuleM</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Cryptol-Parser-AST.html#t:ModName">ModName</a>) <a href="src/Cryptol-ModuleSystem-Monad.html#getFocusedModule" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:setFocusedModule" class="def">setFocusedModule</a> :: <a href="Cryptol-Parser-AST.html#t:ModName">ModName</a> -&gt; <a href="Cryptol-ModuleSystem-Monad.html#t:ModuleM">ModuleM</a> () <a href="src/Cryptol-ModuleSystem-Monad.html#setFocusedModule" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:getSearchPath" class="def">getSearchPath</a> :: <a href="Cryptol-ModuleSystem-Monad.html#t:ModuleM">ModuleM</a> [<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/System-IO.html#t:FilePath">FilePath</a>] <a href="src/Cryptol-ModuleSystem-Monad.html#getSearchPath" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:withPrependedSearchPath" class="def">withPrependedSearchPath</a> :: [<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/System-IO.html#t:FilePath">FilePath</a>] -&gt; <a href="Cryptol-ModuleSystem-Monad.html#t:ModuleM">ModuleM</a> a -&gt; <a href="Cryptol-ModuleSystem-Monad.html#t:ModuleM">ModuleM</a> a <a href="src/Cryptol-ModuleSystem-Monad.html#withPrependedSearchPath" class="link">Source</a></p><div class="doc"><p>Run a <code><a href="Cryptol-ModuleSystem-Monad.html#t:ModuleM">ModuleM</a></code> action in a context with a prepended search
 path. Useful for temporarily looking in other places while
 resolving imports, for example.</p></div></div><div class="top"><p class="src"><a name="v:getFocusedEnv" class="def">getFocusedEnv</a> :: <a href="Cryptol-ModuleSystem-Monad.html#t:ModuleM">ModuleM</a> <a href="Cryptol-ModuleSystem-Interface.html#t:IfaceDecls">IfaceDecls</a> <a href="src/Cryptol-ModuleSystem-Monad.html#getFocusedEnv" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:getQualifiedEnv" class="def">getQualifiedEnv</a> :: <a href="Cryptol-ModuleSystem-Monad.html#t:ModuleM">ModuleM</a> <a href="Cryptol-ModuleSystem-Interface.html#t:IfaceDecls">IfaceDecls</a> <a href="src/Cryptol-ModuleSystem-Monad.html#getQualifiedEnv" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:getDynEnv" class="def">getDynEnv</a> :: <a href="Cryptol-ModuleSystem-Monad.html#t:ModuleM">ModuleM</a> <a href="Cryptol-ModuleSystem-Env.html#t:DynamicEnv">DynamicEnv</a> <a href="src/Cryptol-ModuleSystem-Monad.html#getDynEnv" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:setDynEnv" class="def">setDynEnv</a> :: <a href="Cryptol-ModuleSystem-Env.html#t:DynamicEnv">DynamicEnv</a> -&gt; <a href="Cryptol-ModuleSystem-Monad.html#t:ModuleM">ModuleM</a> () <a href="src/Cryptol-ModuleSystem-Monad.html#setDynEnv" class="link">Source</a></p></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.16.1</p></div></body></html>