Sophie

Sophie

distrib > Fedora > 19 > i386 > by-pkgid > 6141746cd5048a6ddf1cf3194274ce61 > files > 844

ghc-Agda-devel-2.3.2.1-5.fc19.i686.rpm

<!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>Agda.TypeChecking.Monad.Base</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_Agda-TypeChecking-Monad-Base.html");};
//]]>
</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="src/Agda-TypeChecking-Monad-Base.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">Agda-2.3.2.1: A dependently typed functional programming language and proof assistant</p></div><div id="content"><div id="module-header"><table class="info"><tr><th>Safe Haskell</th><td>None</td></tr></table><p class="caption">Agda.TypeChecking.Monad.Base</p></div><div id="table-of-contents"><p class="caption">Contents</p><ul><li><a href="#g:1">Type checking state
</a><ul><li><a href="#g:2">Interface
</a></li><li><a href="#g:3">Closure
</a></li><li><a href="#g:4">Constraints
</a></li></ul></li><li><a href="#g:5">Open things
</a></li><li><a href="#g:6">Judgements
</a><ul><li><a href="#g:7">Meta variables
</a></li><li><a href="#g:8">Interaction meta variables
</a></li><li><a href="#g:9">Signature
</a></li><li><a href="#g:10">Injectivity
</a></li><li><a href="#g:11">Mutual blocks
</a></li><li><a href="#g:12">Statistics
</a></li><li><a href="#g:13">Trace
</a></li><li><a href="#g:14">Builtin things
</a></li></ul></li><li><a href="#g:15">Highlighting levels
</a></li><li><a href="#g:16">Type checking environment
</a><ul><li><a href="#g:17">Context
</a></li><li><a href="#g:18">Let bindings
</a></li><li><a href="#g:19">Abstract mode
</a></li><li><a href="#g:20">Insertion of implicit arguments
</a></li></ul></li><li><a href="#g:21">Type checking errors
</a></li><li><a href="#g:22">Type checking monad transformer
</a></li></ul></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:TCState">TCState</a>  = <a href="#v:TCSt">TCSt</a> {<ul class="subs"><li><a href="#v:stFreshThings">stFreshThings</a> :: <a href="Agda-TypeChecking-Monad-Base.html#t:FreshThings">FreshThings</a></li><li><a href="#v:stSyntaxInfo">stSyntaxInfo</a> :: <a href="Agda-Interaction-Highlighting-Precise.html#t:CompressedFile">CompressedFile</a></li><li><a href="#v:stTokens">stTokens</a> :: <a href="Agda-Interaction-Highlighting-Precise.html#t:CompressedFile">CompressedFile</a></li><li><a href="#v:stTermErrs">stTermErrs</a> :: <a href="/usr/share/doc/ghc/html/libraries/containers-0.4.2.1/Data-Sequence.html#t:Seq">Seq</a> <a href="Agda-TypeChecking-Monad-Base.html#t:TerminationError">TerminationError</a></li><li><a href="#v:stMetaStore">stMetaStore</a> :: <a href="Agda-TypeChecking-Monad-Base.html#t:MetaStore">MetaStore</a></li><li><a href="#v:stInteractionPoints">stInteractionPoints</a> :: <a href="Agda-TypeChecking-Monad-Base.html#t:InteractionPoints">InteractionPoints</a></li><li><a href="#v:stAwakeConstraints">stAwakeConstraints</a> :: <a href="Agda-TypeChecking-Monad-Base.html#t:Constraints">Constraints</a></li><li><a href="#v:stSleepingConstraints">stSleepingConstraints</a> :: <a href="Agda-TypeChecking-Monad-Base.html#t:Constraints">Constraints</a></li><li><a href="#v:stDirty">stDirty</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></li><li><a href="#v:stOccursCheckDefs">stOccursCheckDefs</a> :: <a href="/usr/share/doc/ghc/html/libraries/containers-0.4.2.1/Data-Set.html#t:Set">Set</a> <a href="Agda-Syntax-Abstract-Name.html#t:QName">QName</a></li><li><a href="#v:stSignature">stSignature</a> :: <a href="Agda-TypeChecking-Monad-Base.html#t:Signature">Signature</a></li><li><a href="#v:stImports">stImports</a> :: <a href="Agda-TypeChecking-Monad-Base.html#t:Signature">Signature</a></li><li><a href="#v:stImportedModules">stImportedModules</a> :: <a href="/usr/share/doc/ghc/html/libraries/containers-0.4.2.1/Data-Set.html#t:Set">Set</a> <a href="Agda-Syntax-Abstract-Name.html#t:ModuleName">ModuleName</a></li><li><a href="#v:stModuleToSource">stModuleToSource</a> :: <a href="Agda-Interaction-FindFile.html#t:ModuleToSource">ModuleToSource</a></li><li><a href="#v:stVisitedModules">stVisitedModules</a> :: <a href="Agda-TypeChecking-Monad-Base.html#t:VisitedModules">VisitedModules</a></li><li><a href="#v:stCurrentModule">stCurrentModule</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Agda-Syntax-Abstract-Name.html#t:ModuleName">ModuleName</a></li><li><a href="#v:stScope">stScope</a> :: <a href="Agda-Syntax-Scope-Base.html#t:ScopeInfo">ScopeInfo</a></li><li><a href="#v:stPatternSyns">stPatternSyns</a> :: <a href="Agda-Syntax-Abstract.html#t:PatternSynDefns">PatternSynDefns</a></li><li><a href="#v:stPatternSynImports">stPatternSynImports</a> :: <a href="Agda-Syntax-Abstract.html#t:PatternSynDefns">PatternSynDefns</a></li><li><a href="#v:stPragmaOptions">stPragmaOptions</a> :: <a href="Agda-Interaction-Options.html#t:PragmaOptions">PragmaOptions</a></li><li><a href="#v:stStatistics">stStatistics</a> :: <a href="Agda-TypeChecking-Monad-Base.html#t:Statistics">Statistics</a></li><li><a href="#v:stExtLambdaTele">stExtLambdaTele</a> :: <a href="/usr/share/doc/ghc/html/libraries/containers-0.4.2.1/Data-Map.html#t:Map">Map</a> <a href="Agda-Syntax-Abstract-Name.html#t:QName">QName</a> (<a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Int.html#t:Int">Int</a>, <a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Int.html#t:Int">Int</a>)</li><li><a href="#v:stMutualBlocks">stMutualBlocks</a> :: <a href="/usr/share/doc/ghc/html/libraries/containers-0.4.2.1/Data-Map.html#t:Map">Map</a> <a href="Agda-TypeChecking-Monad-Base.html#t:MutualId">MutualId</a> (<a href="/usr/share/doc/ghc/html/libraries/containers-0.4.2.1/Data-Set.html#t:Set">Set</a> <a href="Agda-Syntax-Abstract-Name.html#t:QName">QName</a>)</li><li><a href="#v:stLocalBuiltins">stLocalBuiltins</a> :: <a href="Agda-TypeChecking-Monad-Base.html#t:BuiltinThings">BuiltinThings</a> <a href="Agda-TypeChecking-Monad-Base.html#t:PrimFun">PrimFun</a></li><li><a href="#v:stImportedBuiltins">stImportedBuiltins</a> :: <a href="Agda-TypeChecking-Monad-Base.html#t:BuiltinThings">BuiltinThings</a> <a href="Agda-TypeChecking-Monad-Base.html#t:PrimFun">PrimFun</a></li><li><a href="#v:stHaskellImports">stHaskellImports</a> :: <a href="/usr/share/doc/ghc/html/libraries/containers-0.4.2.1/Data-Set.html#t:Set">Set</a> <a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-String.html#t:String">String</a></li><li><a href="#v:stPersistent">stPersistent</a> :: <a href="Agda-TypeChecking-Monad-Base.html#t:PersistentTCState">PersistentTCState</a></li><li><a href="#v:stInteractionOutputCallback">stInteractionOutputCallback</a> :: <a href="Agda-Interaction-Response.html#t:InteractionOutputCallback">InteractionOutputCallback</a></li></ul>}</li><li class="src short"><span class="keyword">data</span>  <a href="#t:PersistentTCState">PersistentTCState</a>  = <a href="#v:PersistentTCSt">PersistentTCSt</a> {<ul class="subs"><li><a href="#v:stDecodedModules">stDecodedModules</a> :: <a href="Agda-TypeChecking-Monad-Base.html#t:DecodedModules">DecodedModules</a></li><li><a href="#v:stPersistentOptions">stPersistentOptions</a> :: <a href="Agda-Interaction-Options.html#t:CommandLineOptions">CommandLineOptions</a></li></ul>}</li><li class="src short"><span class="keyword">data</span>  <a href="#t:FreshThings">FreshThings</a>  = <a href="#v:Fresh">Fresh</a> {<ul class="subs"><li><a href="#v:fMeta">fMeta</a> :: <a href="Agda-Syntax-Internal.html#t:MetaId">MetaId</a></li><li><a href="#v:fInteraction">fInteraction</a> :: <a href="Agda-TypeChecking-Monad-Base.html#t:InteractionId">InteractionId</a></li><li><a href="#v:fMutual">fMutual</a> :: <a href="Agda-TypeChecking-Monad-Base.html#t:MutualId">MutualId</a></li><li><a href="#v:fName">fName</a> :: <a href="Agda-Syntax-Common.html#t:NameId">NameId</a></li><li><a href="#v:fCtx">fCtx</a> :: <a href="Agda-TypeChecking-Monad-Base.html#t:CtxId">CtxId</a></li><li><a href="#v:fProblem">fProblem</a> :: <a href="Agda-TypeChecking-Monad-Base.html#t:ProblemId">ProblemId</a></li><li><a href="#v:fInt">fInt</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Int.html#t:Int">Int</a></li></ul>}</li><li class="src short"><a href="#v:initState">initState</a> :: <a href="Agda-TypeChecking-Monad-Base.html#t:TCState">TCState</a></li><li class="src short"><a href="#v:stBuiltinThings">stBuiltinThings</a> :: <a href="Agda-TypeChecking-Monad-Base.html#t:TCState">TCState</a> -&gt; <a href="Agda-TypeChecking-Monad-Base.html#t:BuiltinThings">BuiltinThings</a> <a href="Agda-TypeChecking-Monad-Base.html#t:PrimFun">PrimFun</a></li><li class="src short"><span class="keyword">newtype</span>  <a href="#t:ProblemId">ProblemId</a>  = <a href="#v:ProblemId">ProblemId</a> <a href="Agda-Syntax-Common.html#t:Nat">Nat</a></li><li class="src short"><span class="keyword">data</span>  <a href="#t:ModuleInfo">ModuleInfo</a>  = <a href="#v:ModuleInfo">ModuleInfo</a> {<ul class="subs"><li><a href="#v:miInterface">miInterface</a> :: <a href="Agda-TypeChecking-Monad-Base.html#t:Interface">Interface</a></li><li><a href="#v:miWarnings">miWarnings</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></li><li><a href="#v:miTimeStamp">miTimeStamp</a> :: <a href="Agda-Utils-Time.html#t:ClockTime">ClockTime</a></li></ul>}</li><li class="src short"><span class="keyword">type</span> <a href="#t:VisitedModules">VisitedModules</a> = <a href="/usr/share/doc/ghc/html/libraries/containers-0.4.2.1/Data-Map.html#t:Map">Map</a> <a href="Agda-Syntax-Concrete-Name.html#t:TopLevelModuleName">TopLevelModuleName</a> <a href="Agda-TypeChecking-Monad-Base.html#t:ModuleInfo">ModuleInfo</a></li><li class="src short"><span class="keyword">type</span> <a href="#t:DecodedModules">DecodedModules</a> = <a href="/usr/share/doc/ghc/html/libraries/containers-0.4.2.1/Data-Map.html#t:Map">Map</a> <a href="Agda-Syntax-Concrete-Name.html#t:TopLevelModuleName">TopLevelModuleName</a> (<a href="Agda-TypeChecking-Monad-Base.html#t:Interface">Interface</a>, <a href="Agda-Utils-Time.html#t:ClockTime">ClockTime</a>)</li><li class="src short"><span class="keyword">data</span>  <a href="#t:Interface">Interface</a>  = <a href="#v:Interface">Interface</a> {<ul class="subs"><li><a href="#v:iImportedModules">iImportedModules</a> :: [<a href="Agda-Syntax-Abstract-Name.html#t:ModuleName">ModuleName</a>]</li><li><a href="#v:iModuleName">iModuleName</a> :: <a href="Agda-Syntax-Abstract-Name.html#t:ModuleName">ModuleName</a></li><li><a href="#v:iScope">iScope</a> :: <a href="/usr/share/doc/ghc/html/libraries/containers-0.4.2.1/Data-Map.html#t:Map">Map</a> <a href="Agda-Syntax-Abstract-Name.html#t:ModuleName">ModuleName</a> <a href="Agda-Syntax-Scope-Base.html#t:Scope">Scope</a></li><li><a href="#v:iInsideScope">iInsideScope</a> :: <a href="Agda-Syntax-Scope-Base.html#t:ScopeInfo">ScopeInfo</a></li><li><a href="#v:iSignature">iSignature</a> :: <a href="Agda-TypeChecking-Monad-Base.html#t:Signature">Signature</a></li><li><a href="#v:iBuiltin">iBuiltin</a> :: <a href="Agda-TypeChecking-Monad-Base.html#t:BuiltinThings">BuiltinThings</a> (<a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-String.html#t:String">String</a>, <a href="Agda-Syntax-Abstract-Name.html#t:QName">QName</a>)</li><li><a href="#v:iHaskellImports">iHaskellImports</a> :: <a href="/usr/share/doc/ghc/html/libraries/containers-0.4.2.1/Data-Set.html#t:Set">Set</a> <a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-String.html#t:String">String</a></li><li><a href="#v:iHighlighting">iHighlighting</a> :: <a href="Agda-Interaction-Highlighting-Precise.html#t:HighlightingInfo">HighlightingInfo</a></li><li><a href="#v:iPragmaOptions">iPragmaOptions</a> :: [<a href="Agda-Interaction-Options.html#t:OptionsPragma">OptionsPragma</a>]</li><li><a href="#v:iPatternSyns">iPatternSyns</a> :: <a href="Agda-Syntax-Abstract.html#t:PatternSynDefns">PatternSynDefns</a></li></ul>}</li><li class="src short"><span class="keyword">data</span>  <a href="#t:Closure">Closure</a> a = <a href="#v:Closure">Closure</a> {<ul class="subs"><li><a href="#v:clSignature">clSignature</a> :: <a href="Agda-TypeChecking-Monad-Base.html#t:Signature">Signature</a></li><li><a href="#v:clEnv">clEnv</a> :: <a href="Agda-TypeChecking-Monad-Base.html#t:TCEnv">TCEnv</a></li><li><a href="#v:clScope">clScope</a> :: <a href="Agda-Syntax-Scope-Base.html#t:ScopeInfo">ScopeInfo</a></li><li><a href="#v:clValue">clValue</a> :: a</li></ul>}</li><li class="src short"><a href="#v:buildClosure">buildClosure</a> ::  a -&gt; <a href="Agda-TypeChecking-Monad-Base.html#t:TCM">TCM</a> (<a href="Agda-TypeChecking-Monad-Base.html#t:Closure">Closure</a> a)</li><li class="src short"><span class="keyword">type</span> <a href="#t:Constraints">Constraints</a> = [<a href="Agda-TypeChecking-Monad-Base.html#t:ProblemConstraint">ProblemConstraint</a>]</li><li class="src short"><span class="keyword">data</span>  <a href="#t:ProblemConstraint">ProblemConstraint</a>  = <a href="#v:PConstr">PConstr</a> {<ul class="subs"><li><a href="#v:constraintProblem">constraintProblem</a> :: <a href="Agda-TypeChecking-Monad-Base.html#t:ProblemId">ProblemId</a></li><li><a href="#v:theConstraint">theConstraint</a> :: <a href="Agda-TypeChecking-Monad-Base.html#t:Closure">Closure</a> <a href="Agda-TypeChecking-Monad-Base.html#t:Constraint">Constraint</a></li></ul>}</li><li class="src short"><span class="keyword">data</span>  <a href="#t:Constraint">Constraint</a> <ul class="subs"><li>= <a href="#v:ValueCmp">ValueCmp</a> <a href="Agda-TypeChecking-Monad-Base.html#t:Comparison">Comparison</a> <a href="Agda-Syntax-Internal.html#t:Type">Type</a> <a href="Agda-Syntax-Internal.html#t:Term">Term</a> <a href="Agda-Syntax-Internal.html#t:Term">Term</a>  </li><li>| <a href="#v:ElimCmp">ElimCmp</a> [<a href="Agda-TypeChecking-Monad-Base.html#t:Polarity">Polarity</a>] <a href="Agda-Syntax-Internal.html#t:Type">Type</a> <a href="Agda-Syntax-Internal.html#t:Term">Term</a> [<a href="Agda-Syntax-Internal.html#t:Elim">Elim</a>] [<a href="Agda-Syntax-Internal.html#t:Elim">Elim</a>]  </li><li>| <a href="#v:TypeCmp">TypeCmp</a> <a href="Agda-TypeChecking-Monad-Base.html#t:Comparison">Comparison</a> <a href="Agda-Syntax-Internal.html#t:Type">Type</a> <a href="Agda-Syntax-Internal.html#t:Type">Type</a>  </li><li>| <a href="#v:TelCmp">TelCmp</a> <a href="Agda-Syntax-Internal.html#t:Type">Type</a> <a href="Agda-Syntax-Internal.html#t:Type">Type</a> <a href="Agda-TypeChecking-Monad-Base.html#t:Comparison">Comparison</a> <a href="Agda-Syntax-Internal.html#t:Telescope">Telescope</a> <a href="Agda-Syntax-Internal.html#t:Telescope">Telescope</a>  </li><li>| <a href="#v:SortCmp">SortCmp</a> <a href="Agda-TypeChecking-Monad-Base.html#t:Comparison">Comparison</a> <a href="Agda-Syntax-Internal.html#t:Sort">Sort</a> <a href="Agda-Syntax-Internal.html#t:Sort">Sort</a>  </li><li>| <a href="#v:LevelCmp">LevelCmp</a> <a href="Agda-TypeChecking-Monad-Base.html#t:Comparison">Comparison</a> <a href="Agda-Syntax-Internal.html#t:Level">Level</a> <a href="Agda-Syntax-Internal.html#t:Level">Level</a>  </li><li>| <a href="#v:UnBlock">UnBlock</a> <a href="Agda-Syntax-Internal.html#t:MetaId">MetaId</a>  </li><li>| <a href="#v:Guarded">Guarded</a> <a href="Agda-TypeChecking-Monad-Base.html#t:Constraint">Constraint</a> <a href="Agda-TypeChecking-Monad-Base.html#t:ProblemId">ProblemId</a>  </li><li>| <a href="#v:IsEmpty">IsEmpty</a> <a href="Agda-Syntax-Position.html#t:Range">Range</a> <a href="Agda-Syntax-Internal.html#t:Type">Type</a>  </li><li>| <a href="#v:FindInScope">FindInScope</a> <a href="Agda-Syntax-Internal.html#t:MetaId">MetaId</a> [(<a href="Agda-Syntax-Internal.html#t:Term">Term</a>, <a href="Agda-Syntax-Internal.html#t:Type">Type</a>)]  </li></ul></li><li class="src short"><span class="keyword">data</span>  <a href="#t:Comparison">Comparison</a> <ul class="subs"><li>= <a href="#v:CmpEq">CmpEq</a>  </li><li>| <a href="#v:CmpLeq">CmpLeq</a>  </li></ul></li><li class="src short"><span class="keyword">data</span>  <a href="#t:Open">Open</a> a = <a href="#v:OpenThing">OpenThing</a> [<a href="Agda-TypeChecking-Monad-Base.html#t:CtxId">CtxId</a>] a</li><li class="src short"><span class="keyword">data</span>  <a href="#t:Judgement">Judgement</a> t a<ul class="subs"><li>= <a href="#v:HasType">HasType</a> { <ul class="subs"><li><a href="#v:jMetaId">jMetaId</a> :: a</li><li><a href="#v:jMetaType">jMetaType</a> :: t</li></ul> }</li><li>| <a href="#v:IsSort">IsSort</a> { <ul class="subs"><li><a href="#v:jMetaId">jMetaId</a> :: a</li><li><a href="#v:jMetaType">jMetaType</a> :: t</li></ul> }</li></ul></li><li class="src short"><span class="keyword">data</span>  <a href="#t:MetaVariable">MetaVariable</a>  = <a href="#v:MetaVar">MetaVar</a> {<ul class="subs"><li><a href="#v:mvInfo">mvInfo</a> :: <a href="Agda-TypeChecking-Monad-Base.html#t:MetaInfo">MetaInfo</a></li><li><a href="#v:mvPriority">mvPriority</a> :: <a href="Agda-TypeChecking-Monad-Base.html#t:MetaPriority">MetaPriority</a></li><li><a href="#v:mvPermutation">mvPermutation</a> :: <a href="Agda-Utils-Permutation.html#t:Permutation">Permutation</a></li><li><a href="#v:mvJudgement">mvJudgement</a> :: <a href="Agda-TypeChecking-Monad-Base.html#t:Judgement">Judgement</a> <a href="Agda-Syntax-Internal.html#t:Type">Type</a> <a href="Agda-Syntax-Internal.html#t:MetaId">MetaId</a></li><li><a href="#v:mvInstantiation">mvInstantiation</a> :: <a href="Agda-TypeChecking-Monad-Base.html#t:MetaInstantiation">MetaInstantiation</a></li><li><a href="#v:mvListeners">mvListeners</a> :: <a href="/usr/share/doc/ghc/html/libraries/containers-0.4.2.1/Data-Set.html#t:Set">Set</a> <a href="Agda-TypeChecking-Monad-Base.html#t:Listener">Listener</a></li><li><a href="#v:mvFrozen">mvFrozen</a> :: <a href="Agda-TypeChecking-Monad-Base.html#t:Frozen">Frozen</a></li></ul>}</li><li class="src short"><span class="keyword">data</span>  <a href="#t:Listener">Listener</a> <ul class="subs"><li>= <a href="#v:EtaExpand">EtaExpand</a> <a href="Agda-Syntax-Internal.html#t:MetaId">MetaId</a>  </li><li>| <a href="#v:CheckConstraint">CheckConstraint</a> <a href="Agda-Syntax-Common.html#t:Nat">Nat</a> <a href="Agda-TypeChecking-Monad-Base.html#t:ProblemConstraint">ProblemConstraint</a>  </li></ul></li><li class="src short"><span class="keyword">data</span>  <a href="#t:Frozen">Frozen</a> <ul class="subs"><li>= <a href="#v:Frozen">Frozen</a>  </li><li>| <a href="#v:Instantiable">Instantiable</a>  </li></ul></li><li class="src short"><span class="keyword">data</span>  <a href="#t:MetaInstantiation">MetaInstantiation</a> <ul class="subs"><li>= <a href="#v:InstV">InstV</a> <a href="Agda-Syntax-Internal.html#t:Term">Term</a>  </li><li>| <a href="#v:InstS">InstS</a> <a href="Agda-Syntax-Internal.html#t:Term">Term</a>  </li><li>| <a href="#v:Open">Open</a>  </li><li>| <a href="#v:OpenIFS">OpenIFS</a>  </li><li>| <a href="#v:BlockedConst">BlockedConst</a> <a href="Agda-Syntax-Internal.html#t:Term">Term</a>  </li><li>| <a href="#v:PostponedTypeCheckingProblem">PostponedTypeCheckingProblem</a> (<a href="Agda-TypeChecking-Monad-Base.html#t:Closure">Closure</a> (<a href="Agda-Syntax-Abstract.html#t:Expr">Expr</a>, <a href="Agda-Syntax-Internal.html#t:Type">Type</a>, <a href="Agda-TypeChecking-Monad-Base.html#t:TCM">TCM</a> <a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a>))  </li></ul></li><li class="src short"><span class="keyword">newtype</span>  <a href="#t:MetaPriority">MetaPriority</a>  = <a href="#v:MetaPriority">MetaPriority</a> <a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Int.html#t:Int">Int</a></li><li class="src short"><span class="keyword">data</span>  <a href="#t:RunMetaOccursCheck">RunMetaOccursCheck</a> <ul class="subs"><li>= <a href="#v:RunMetaOccursCheck">RunMetaOccursCheck</a>  </li><li>| <a href="#v:DontRunMetaOccursCheck">DontRunMetaOccursCheck</a>  </li></ul></li><li class="src short"><span class="keyword">data</span>  <a href="#t:MetaInfo">MetaInfo</a>  = <a href="#v:MetaInfo">MetaInfo</a> {<ul class="subs"><li><a href="#v:miClosRange">miClosRange</a> :: <a href="Agda-TypeChecking-Monad-Base.html#t:Closure">Closure</a> <a href="Agda-Syntax-Position.html#t:Range">Range</a></li><li><a href="#v:miMetaOccursCheck">miMetaOccursCheck</a> :: <a href="Agda-TypeChecking-Monad-Base.html#t:RunMetaOccursCheck">RunMetaOccursCheck</a></li><li><a href="#v:miNameSuggestion">miNameSuggestion</a> :: <a href="Agda-TypeChecking-Monad-Base.html#t:MetaNameSuggestion">MetaNameSuggestion</a></li></ul>}</li><li class="src short"><span class="keyword">type</span> <a href="#t:MetaNameSuggestion">MetaNameSuggestion</a> = <a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-String.html#t:String">String</a></li><li class="src short"><span class="keyword">data</span>  <a href="#t:NamedMeta">NamedMeta</a>  = <a href="#v:NamedMeta">NamedMeta</a> {<ul class="subs"><li><a href="#v:nmSuggestion">nmSuggestion</a> :: <a href="Agda-TypeChecking-Monad-Base.html#t:MetaNameSuggestion">MetaNameSuggestion</a></li><li><a href="#v:nmid">nmid</a> :: <a href="Agda-Syntax-Internal.html#t:MetaId">MetaId</a></li></ul>}</li><li class="src short"><span class="keyword">type</span> <a href="#t:MetaStore">MetaStore</a> = <a href="/usr/share/doc/ghc/html/libraries/containers-0.4.2.1/Data-Map.html#t:Map">Map</a> <a href="Agda-Syntax-Internal.html#t:MetaId">MetaId</a> <a href="Agda-TypeChecking-Monad-Base.html#t:MetaVariable">MetaVariable</a></li><li class="src short"><a href="#v:normalMetaPriority">normalMetaPriority</a> :: <a href="Agda-TypeChecking-Monad-Base.html#t:MetaPriority">MetaPriority</a></li><li class="src short"><a href="#v:lowMetaPriority">lowMetaPriority</a> :: <a href="Agda-TypeChecking-Monad-Base.html#t:MetaPriority">MetaPriority</a></li><li class="src short"><a href="#v:highMetaPriority">highMetaPriority</a> :: <a href="Agda-TypeChecking-Monad-Base.html#t:MetaPriority">MetaPriority</a></li><li class="src short"><a href="#v:getMetaInfo">getMetaInfo</a> :: <a href="Agda-TypeChecking-Monad-Base.html#t:MetaVariable">MetaVariable</a> -&gt; <a href="Agda-TypeChecking-Monad-Base.html#t:Closure">Closure</a> <a href="Agda-Syntax-Position.html#t:Range">Range</a></li><li class="src short"><a href="#v:getMetaScope">getMetaScope</a> :: <a href="Agda-TypeChecking-Monad-Base.html#t:MetaVariable">MetaVariable</a> -&gt; <a href="Agda-Syntax-Scope-Base.html#t:ScopeInfo">ScopeInfo</a></li><li class="src short"><a href="#v:getMetaEnv">getMetaEnv</a> :: <a href="Agda-TypeChecking-Monad-Base.html#t:MetaVariable">MetaVariable</a> -&gt; <a href="Agda-TypeChecking-Monad-Base.html#t:TCEnv">TCEnv</a></li><li class="src short"><a href="#v:getMetaSig">getMetaSig</a> :: <a href="Agda-TypeChecking-Monad-Base.html#t:MetaVariable">MetaVariable</a> -&gt; <a href="Agda-TypeChecking-Monad-Base.html#t:Signature">Signature</a></li><li class="src short"><a href="#v:getMetaRelevance">getMetaRelevance</a> :: <a href="Agda-TypeChecking-Monad-Base.html#t:MetaVariable">MetaVariable</a> -&gt; <a href="Agda-Syntax-Common.html#t:Relevance">Relevance</a></li><li class="src short"><span class="keyword">type</span> <a href="#t:InteractionPoints">InteractionPoints</a> = <a href="/usr/share/doc/ghc/html/libraries/containers-0.4.2.1/Data-Map.html#t:Map">Map</a> <a href="Agda-TypeChecking-Monad-Base.html#t:InteractionId">InteractionId</a> <a href="Agda-Syntax-Internal.html#t:MetaId">MetaId</a></li><li class="src short"><span class="keyword">newtype</span>  <a href="#t:InteractionId">InteractionId</a>  = <a href="#v:InteractionId">InteractionId</a> <a href="Agda-Syntax-Common.html#t:Nat">Nat</a></li><li class="src short"><span class="keyword">data</span>  <a href="#t:Signature">Signature</a>  = <a href="#v:Sig">Sig</a> {<ul class="subs"><li><a href="#v:sigSections">sigSections</a> :: <a href="Agda-TypeChecking-Monad-Base.html#t:Sections">Sections</a></li><li><a href="#v:sigDefinitions">sigDefinitions</a> :: <a href="Agda-TypeChecking-Monad-Base.html#t:Definitions">Definitions</a></li></ul>}</li><li class="src short"><span class="keyword">type</span> <a href="#t:Sections">Sections</a> = <a href="/usr/share/doc/ghc/html/libraries/containers-0.4.2.1/Data-Map.html#t:Map">Map</a> <a href="Agda-Syntax-Abstract-Name.html#t:ModuleName">ModuleName</a> <a href="Agda-TypeChecking-Monad-Base.html#t:Section">Section</a></li><li class="src short"><span class="keyword">type</span> <a href="#t:Definitions">Definitions</a> = <a href="/usr/share/doc/ghc/html/libraries/unordered-containers-0.2.2.1/Data-HashMap-Strict.html#t:HashMap">HashMap</a> <a href="Agda-Syntax-Abstract-Name.html#t:QName">QName</a> <a href="Agda-TypeChecking-Monad-Base.html#t:Definition">Definition</a></li><li class="src short"><span class="keyword">data</span>  <a href="#t:Section">Section</a>  = <a href="#v:Section">Section</a> {<ul class="subs"><li><a href="#v:secTelescope">secTelescope</a> :: <a href="Agda-Syntax-Internal.html#t:Telescope">Telescope</a></li><li><a href="#v:secFreeVars">secFreeVars</a> :: <a href="Agda-Syntax-Common.html#t:Nat">Nat</a></li></ul>}</li><li class="src short"><a href="#v:emptySignature">emptySignature</a> :: <a href="Agda-TypeChecking-Monad-Base.html#t:Signature">Signature</a></li><li class="src short"><span class="keyword">data</span>  <a href="#t:DisplayForm">DisplayForm</a>  = <a href="#v:Display">Display</a> <a href="Agda-Syntax-Common.html#t:Nat">Nat</a> [<a href="Agda-Syntax-Internal.html#t:Term">Term</a>] <a href="Agda-TypeChecking-Monad-Base.html#t:DisplayTerm">DisplayTerm</a></li><li class="src short"><span class="keyword">data</span>  <a href="#t:DisplayTerm">DisplayTerm</a> <ul class="subs"><li>= <a href="#v:DWithApp">DWithApp</a> [<a href="Agda-TypeChecking-Monad-Base.html#t:DisplayTerm">DisplayTerm</a>] <a href="Agda-Syntax-Internal.html#t:Args">Args</a>  </li><li>| <a href="#v:DCon">DCon</a> <a href="Agda-Syntax-Abstract-Name.html#t:QName">QName</a> [<a href="Agda-Syntax-Common.html#t:Arg">Arg</a> <a href="Agda-TypeChecking-Monad-Base.html#t:DisplayTerm">DisplayTerm</a>]  </li><li>| <a href="#v:DDef">DDef</a> <a href="Agda-Syntax-Abstract-Name.html#t:QName">QName</a> [<a href="Agda-Syntax-Common.html#t:Arg">Arg</a> <a href="Agda-TypeChecking-Monad-Base.html#t:DisplayTerm">DisplayTerm</a>]  </li><li>| <a href="#v:DDot">DDot</a> <a href="Agda-Syntax-Internal.html#t:Term">Term</a>  </li><li>| <a href="#v:DTerm">DTerm</a> <a href="Agda-Syntax-Internal.html#t:Term">Term</a>  </li></ul></li><li class="src short"><a href="#v:defaultDisplayForm">defaultDisplayForm</a> :: <a href="Agda-Syntax-Abstract-Name.html#t:QName">QName</a> -&gt; [<a href="Agda-TypeChecking-Monad-Base.html#t:Open">Open</a> <a href="Agda-TypeChecking-Monad-Base.html#t:DisplayForm">DisplayForm</a>]</li><li class="src short"><span class="keyword">data</span>  <a href="#t:Definition">Definition</a>  = <a href="#v:Defn">Defn</a> {<ul class="subs"><li><a href="#v:defRelevance">defRelevance</a> :: <a href="Agda-Syntax-Common.html#t:Relevance">Relevance</a></li><li><a href="#v:defName">defName</a> :: <a href="Agda-Syntax-Abstract-Name.html#t:QName">QName</a></li><li><a href="#v:defType">defType</a> :: <a href="Agda-Syntax-Internal.html#t:Type">Type</a></li><li><a href="#v:defPolarity">defPolarity</a> :: [<a href="Agda-TypeChecking-Monad-Base.html#t:Polarity">Polarity</a>]</li><li><a href="#v:defArgOccurrences">defArgOccurrences</a> :: [<a href="Agda-TypeChecking-Monad-Base.html#t:Occurrence">Occurrence</a>]</li><li><a href="#v:defDisplay">defDisplay</a> :: [<a href="Agda-TypeChecking-Monad-Base.html#t:Open">Open</a> <a href="Agda-TypeChecking-Monad-Base.html#t:DisplayForm">DisplayForm</a>]</li><li><a href="#v:defMutual">defMutual</a> :: <a href="Agda-TypeChecking-Monad-Base.html#t:MutualId">MutualId</a></li><li><a href="#v:defCompiledRep">defCompiledRep</a> :: <a href="Agda-TypeChecking-Monad-Base.html#t:CompiledRepresentation">CompiledRepresentation</a></li><li><a href="#v:theDef">theDef</a> :: <a href="Agda-TypeChecking-Monad-Base.html#t:Defn">Defn</a></li></ul>}</li><li class="src short"><span class="keyword">type</span> <a href="#t:HaskellCode">HaskellCode</a> = <a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-String.html#t:String">String</a></li><li class="src short"><span class="keyword">type</span> <a href="#t:HaskellType">HaskellType</a> = <a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-String.html#t:String">String</a></li><li class="src short"><span class="keyword">type</span> <a href="#t:EpicCode">EpicCode</a> = <a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-String.html#t:String">String</a></li><li class="src short"><span class="keyword">type</span> <a href="#t:JSCode">JSCode</a> = <a href="Agda-Compiler-JS-Syntax.html#t:Exp">Exp</a></li><li class="src short"><span class="keyword">data</span>  <a href="#t:HaskellRepresentation">HaskellRepresentation</a> <ul class="subs"><li>= <a href="#v:HsDefn">HsDefn</a> <a href="Agda-TypeChecking-Monad-Base.html#t:HaskellType">HaskellType</a> <a href="Agda-TypeChecking-Monad-Base.html#t:HaskellCode">HaskellCode</a>  </li><li>| <a href="#v:HsType">HsType</a> <a href="Agda-TypeChecking-Monad-Base.html#t:HaskellType">HaskellType</a>  </li></ul></li><li class="src short"><span class="keyword">data</span>  <a href="#t:Polarity">Polarity</a> <ul class="subs"><li>= <a href="#v:Covariant">Covariant</a>  </li><li>| <a href="#v:Contravariant">Contravariant</a>  </li><li>| <a href="#v:Invariant">Invariant</a>  </li><li>| <a href="#v:Nonvariant">Nonvariant</a>  </li></ul></li><li class="src short"><span class="keyword">data</span>  <a href="#t:CompiledRepresentation">CompiledRepresentation</a>  = <a href="#v:CompiledRep">CompiledRep</a> {<ul class="subs"><li><a href="#v:compiledHaskell">compiledHaskell</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Agda-TypeChecking-Monad-Base.html#t:HaskellRepresentation">HaskellRepresentation</a></li><li><a href="#v:compiledEpic">compiledEpic</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Agda-TypeChecking-Monad-Base.html#t:EpicCode">EpicCode</a></li><li><a href="#v:compiledJS">compiledJS</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Agda-TypeChecking-Monad-Base.html#t:JSCode">JSCode</a></li></ul>}</li><li class="src short"><a href="#v:noCompiledRep">noCompiledRep</a> :: <a href="Agda-TypeChecking-Monad-Base.html#t:CompiledRepresentation">CompiledRepresentation</a></li><li class="src short"><span class="keyword">data</span>  <a href="#t:Occurrence">Occurrence</a> <ul class="subs"><li>= <a href="#v:Mixed">Mixed</a>  </li><li>| <a href="#v:JustNeg">JustNeg</a>  </li><li>| <a href="#v:JustPos">JustPos</a>  </li><li>| <a href="#v:StrictPos">StrictPos</a>  </li><li>| <a href="#v:GuardPos">GuardPos</a>  </li><li>| <a href="#v:Unused">Unused</a>  </li></ul></li><li class="src short"><span class="keyword">data</span>  <a href="#t:Defn">Defn</a> <ul class="subs"><li>= <a href="#v:Axiom">Axiom</a>  </li><li>| <a href="#v:Function">Function</a> { <ul class="subs"><li><a href="#v:funClauses">funClauses</a> :: [<a href="Agda-Syntax-Internal.html#t:Clause">Clause</a>]</li><li><a href="#v:funCompiled">funCompiled</a> :: <a href="Agda-TypeChecking-CompiledClause.html#t:CompiledClauses">CompiledClauses</a></li><li><a href="#v:funInv">funInv</a> :: <a href="Agda-TypeChecking-Monad-Base.html#t:FunctionInverse">FunctionInverse</a></li><li><a href="#v:funMutual">funMutual</a> :: [<a href="Agda-Syntax-Abstract-Name.html#t:QName">QName</a>]</li><li><a href="#v:funAbstr">funAbstr</a> :: <a href="Agda-Syntax-Common.html#t:IsAbstract">IsAbstract</a></li><li><a href="#v:funDelayed">funDelayed</a> :: <a href="Agda-Syntax-Common.html#t:Delayed">Delayed</a></li><li><a href="#v:funProjection">funProjection</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (<a href="Agda-Syntax-Abstract-Name.html#t:QName">QName</a>, <a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Int.html#t:Int">Int</a>)</li><li><a href="#v:funStatic">funStatic</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></li><li><a href="#v:funCopy">funCopy</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></li><li><a href="#v:funTerminates">funTerminates</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></li></ul> }</li><li>| <a href="#v:Datatype">Datatype</a> { <ul class="subs"><li><a href="#v:dataPars">dataPars</a> :: <a href="Agda-Syntax-Common.html#t:Nat">Nat</a></li><li><a href="#v:dataIxs">dataIxs</a> :: <a href="Agda-Syntax-Common.html#t:Nat">Nat</a></li><li><a href="#v:dataInduction">dataInduction</a> :: <a href="Agda-Syntax-Common.html#t:Induction">Induction</a></li><li><a href="#v:dataClause">dataClause</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Agda-Syntax-Internal.html#t:Clause">Clause</a></li><li><a href="#v:dataCons">dataCons</a> :: [<a href="Agda-Syntax-Abstract-Name.html#t:QName">QName</a>]</li><li><a href="#v:dataSort">dataSort</a> :: <a href="Agda-Syntax-Internal.html#t:Sort">Sort</a></li><li><a href="#v:dataMutual">dataMutual</a> :: [<a href="Agda-Syntax-Abstract-Name.html#t:QName">QName</a>]</li><li><a href="#v:dataAbstr">dataAbstr</a> :: <a href="Agda-Syntax-Common.html#t:IsAbstract">IsAbstract</a></li></ul> }</li><li>| <a href="#v:Record">Record</a> { <ul class="subs"><li><a href="#v:recPars">recPars</a> :: <a href="Agda-Syntax-Common.html#t:Nat">Nat</a></li><li><a href="#v:recClause">recClause</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Agda-Syntax-Internal.html#t:Clause">Clause</a></li><li><a href="#v:recCon">recCon</a> :: <a href="Agda-Syntax-Abstract-Name.html#t:QName">QName</a></li><li><a href="#v:recNamedCon">recNamedCon</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></li><li><a href="#v:recConType">recConType</a> :: <a href="Agda-Syntax-Internal.html#t:Type">Type</a></li><li><a href="#v:recFields">recFields</a> :: [<a href="Agda-Syntax-Common.html#t:Arg">Arg</a> <a href="Agda-Syntax-Abstract-Name.html#t:QName">QName</a>]</li><li><a href="#v:recTel">recTel</a> :: <a href="Agda-Syntax-Internal.html#t:Telescope">Telescope</a></li><li><a href="#v:recMutual">recMutual</a> :: [<a href="Agda-Syntax-Abstract-Name.html#t:QName">QName</a>]</li><li><a href="#v:recEtaEquality">recEtaEquality</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></li><li><a href="#v:recInduction">recInduction</a> :: <a href="Agda-Syntax-Common.html#t:Induction">Induction</a></li><li><a href="#v:recRecursive">recRecursive</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></li><li><a href="#v:recAbstr">recAbstr</a> :: <a href="Agda-Syntax-Common.html#t:IsAbstract">IsAbstract</a></li></ul> }</li><li>| <a href="#v:Constructor">Constructor</a> { <ul class="subs"><li><a href="#v:conPars">conPars</a> :: <a href="Agda-Syntax-Common.html#t:Nat">Nat</a></li><li><a href="#v:conSrcCon">conSrcCon</a> :: <a href="Agda-Syntax-Abstract-Name.html#t:QName">QName</a></li><li><a href="#v:conData">conData</a> :: <a href="Agda-Syntax-Abstract-Name.html#t:QName">QName</a></li><li><a href="#v:conAbstr">conAbstr</a> :: <a href="Agda-Syntax-Common.html#t:IsAbstract">IsAbstract</a></li><li><a href="#v:conInd">conInd</a> :: <a href="Agda-Syntax-Common.html#t:Induction">Induction</a></li></ul> }</li><li>| <a href="#v:Primitive">Primitive</a> { <ul class="subs"><li><a href="#v:primAbstr">primAbstr</a> :: <a href="Agda-Syntax-Common.html#t:IsAbstract">IsAbstract</a></li><li><a href="#v:primName">primName</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-String.html#t:String">String</a></li><li><a href="#v:primClauses">primClauses</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a> [<a href="Agda-Syntax-Internal.html#t:Clause">Clause</a>]</li><li><a href="#v:primCompiled">primCompiled</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Agda-TypeChecking-CompiledClause.html#t:CompiledClauses">CompiledClauses</a></li></ul> }</li></ul></li><li class="src short"><a href="#v:defIsRecord">defIsRecord</a> :: <a href="Agda-TypeChecking-Monad-Base.html#t:Defn">Defn</a> -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:defIsDataOrRecord">defIsDataOrRecord</a> :: <a href="Agda-TypeChecking-Monad-Base.html#t:Defn">Defn</a> -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><span class="keyword">newtype</span>  <a href="#t:Fields">Fields</a>  = <a href="#v:Fields">Fields</a> [(<a href="Agda-Syntax-Concrete-Name.html#t:Name">Name</a>, <a href="Agda-Syntax-Internal.html#t:Type">Type</a>)]</li><li class="src short"><span class="keyword">data</span>  <a href="#t:Reduced">Reduced</a> no yes<ul class="subs"><li>= <a href="#v:NoReduction">NoReduction</a> no  </li><li>| <a href="#v:YesReduction">YesReduction</a> yes  </li></ul></li><li class="src short"><span class="keyword">data</span>  <a href="#t:IsReduced">IsReduced</a> <ul class="subs"><li>= <a href="#v:NotReduced">NotReduced</a>  </li><li>| <a href="#v:Reduced">Reduced</a> (<a href="Agda-Syntax-Internal.html#t:Blocked">Blocked</a> <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Tuple.html#t:-40--41-">()</a>)  </li></ul></li><li class="src short"><span class="keyword">data</span>  <a href="#t:MaybeReduced">MaybeReduced</a> a = <a href="#v:MaybeRed">MaybeRed</a> {<ul class="subs"><li><a href="#v:isReduced">isReduced</a> :: <a href="Agda-TypeChecking-Monad-Base.html#t:IsReduced">IsReduced</a></li><li><a href="#v:ignoreReduced">ignoreReduced</a> :: a</li></ul>}</li><li class="src short"><span class="keyword">type</span> <a href="#t:MaybeReducedArgs">MaybeReducedArgs</a> = [<a href="Agda-TypeChecking-Monad-Base.html#t:MaybeReduced">MaybeReduced</a> (<a href="Agda-Syntax-Common.html#t:Arg">Arg</a> <a href="Agda-Syntax-Internal.html#t:Term">Term</a>)]</li><li class="src short"><a href="#v:notReduced">notReduced</a> ::  a -&gt; <a href="Agda-TypeChecking-Monad-Base.html#t:MaybeReduced">MaybeReduced</a> a</li><li class="src short"><a href="#v:reduced">reduced</a> :: <a href="Agda-Syntax-Internal.html#t:Blocked">Blocked</a> (<a href="Agda-Syntax-Common.html#t:Arg">Arg</a> <a href="Agda-Syntax-Internal.html#t:Term">Term</a>) -&gt; <a href="Agda-TypeChecking-Monad-Base.html#t:MaybeReduced">MaybeReduced</a> (<a href="Agda-Syntax-Common.html#t:Arg">Arg</a> <a href="Agda-Syntax-Internal.html#t:Term">Term</a>)</li><li class="src short"><span class="keyword">data</span>  <a href="#t:PrimFun">PrimFun</a>  = <a href="#v:PrimFun">PrimFun</a> {<ul class="subs"><li><a href="#v:primFunName">primFunName</a> :: <a href="Agda-Syntax-Abstract-Name.html#t:QName">QName</a></li><li><a href="#v:primFunArity">primFunArity</a> :: <a href="Agda-Syntax-Common.html#t:Arity">Arity</a></li><li><a href="#v:primFunImplementation">primFunImplementation</a> :: [<a href="Agda-Syntax-Common.html#t:Arg">Arg</a> <a href="Agda-Syntax-Internal.html#t:Term">Term</a>] -&gt; <a href="Agda-TypeChecking-Monad-Base.html#t:TCM">TCM</a> (<a href="Agda-TypeChecking-Monad-Base.html#t:Reduced">Reduced</a> <a href="Agda-TypeChecking-Monad-Base.html#t:MaybeReducedArgs">MaybeReducedArgs</a> <a href="Agda-Syntax-Internal.html#t:Term">Term</a>)</li></ul>}</li><li class="src short"><a href="#v:defClauses">defClauses</a> :: <a href="Agda-TypeChecking-Monad-Base.html#t:Definition">Definition</a> -&gt; [<a href="Agda-Syntax-Internal.html#t:Clause">Clause</a>]</li><li class="src short"><a href="#v:defCompiled">defCompiled</a> :: <a href="Agda-TypeChecking-Monad-Base.html#t:Definition">Definition</a> -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Agda-TypeChecking-CompiledClause.html#t:CompiledClauses">CompiledClauses</a></li><li class="src short"><a href="#v:defJSDef">defJSDef</a> :: <a href="Agda-TypeChecking-Monad-Base.html#t:Definition">Definition</a> -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Agda-TypeChecking-Monad-Base.html#t:JSCode">JSCode</a></li><li class="src short"><a href="#v:defEpicDef">defEpicDef</a> :: <a href="Agda-TypeChecking-Monad-Base.html#t:Definition">Definition</a> -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Agda-TypeChecking-Monad-Base.html#t:EpicCode">EpicCode</a></li><li class="src short"><a href="#v:defDelayed">defDelayed</a> :: <a href="Agda-TypeChecking-Monad-Base.html#t:Definition">Definition</a> -&gt; <a href="Agda-Syntax-Common.html#t:Delayed">Delayed</a></li><li class="src short"><a href="#v:defCopy">defCopy</a> :: <a href="Agda-TypeChecking-Monad-Base.html#t:Definition">Definition</a> -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:defAbstract">defAbstract</a> :: <a href="Agda-TypeChecking-Monad-Base.html#t:Definition">Definition</a> -&gt; <a href="Agda-Syntax-Common.html#t:IsAbstract">IsAbstract</a></li><li class="src short"><span class="keyword">type</span> <a href="#t:FunctionInverse">FunctionInverse</a> = <a href="Agda-TypeChecking-Monad-Base.html#t:FunctionInverse-39-">FunctionInverse'</a> <a href="Agda-Syntax-Internal.html#t:Clause">Clause</a></li><li class="src short"><span class="keyword">data</span>  <a href="#t:FunctionInverse-39-">FunctionInverse'</a> c<ul class="subs"><li>= <a href="#v:NotInjective">NotInjective</a>  </li><li>| <a href="#v:Inverse">Inverse</a> (<a href="/usr/share/doc/ghc/html/libraries/containers-0.4.2.1/Data-Map.html#t:Map">Map</a> <a href="Agda-TypeChecking-Monad-Base.html#t:TermHead">TermHead</a> c)  </li></ul></li><li class="src short"><span class="keyword">data</span>  <a href="#t:TermHead">TermHead</a> <ul class="subs"><li>= <a href="#v:SortHead">SortHead</a>  </li><li>| <a href="#v:PiHead">PiHead</a>  </li><li>| <a href="#v:ConHead">ConHead</a> <a href="Agda-Syntax-Abstract-Name.html#t:QName">QName</a>  </li></ul></li><li class="src short"><span class="keyword">newtype</span>  <a href="#t:MutualId">MutualId</a>  = <a href="#v:MutId">MutId</a> <a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Int.html#t:Int32">Int32</a></li><li class="src short"><span class="keyword">type</span> <a href="#t:Statistics">Statistics</a> = <a href="/usr/share/doc/ghc/html/libraries/containers-0.4.2.1/Data-Map.html#t:Map">Map</a> <a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-String.html#t:String">String</a> <a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Prelude.html#t:Integer">Integer</a></li><li class="src short"><span class="keyword">data</span>  <a href="#t:Call">Call</a> <ul class="subs"><li>= <a href="#v:CheckClause">CheckClause</a> <a href="Agda-Syntax-Internal.html#t:Type">Type</a> <a href="Agda-Syntax-Abstract.html#t:Clause">Clause</a> (<a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Agda-Syntax-Internal.html#t:Clause">Clause</a>)  </li><li>| <span class="keyword">forall</span> a . <a href="#v:CheckPattern">CheckPattern</a> <a href="Agda-Syntax-Abstract.html#t:Pattern">Pattern</a> <a href="Agda-Syntax-Internal.html#t:Telescope">Telescope</a> <a href="Agda-Syntax-Internal.html#t:Type">Type</a> (<a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a> a)  </li><li>| <a href="#v:CheckLetBinding">CheckLetBinding</a> <a href="Agda-Syntax-Abstract.html#t:LetBinding">LetBinding</a> (<a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Tuple.html#t:-40--41-">()</a>)  </li><li>| <a href="#v:InferExpr">InferExpr</a> <a href="Agda-Syntax-Abstract.html#t:Expr">Expr</a> (<a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (<a href="Agda-Syntax-Internal.html#t:Term">Term</a>, <a href="Agda-Syntax-Internal.html#t:Type">Type</a>))  </li><li>| <a href="#v:CheckExpr">CheckExpr</a> <a href="Agda-Syntax-Abstract.html#t:Expr">Expr</a> <a href="Agda-Syntax-Internal.html#t:Type">Type</a> (<a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Agda-Syntax-Internal.html#t:Term">Term</a>)  </li><li>| <a href="#v:CheckDotPattern">CheckDotPattern</a> <a href="Agda-Syntax-Abstract.html#t:Expr">Expr</a> <a href="Agda-Syntax-Internal.html#t:Term">Term</a> (<a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Agda-TypeChecking-Monad-Base.html#t:Constraints">Constraints</a>)  </li><li>| <a href="#v:CheckPatternShadowing">CheckPatternShadowing</a> <a href="Agda-Syntax-Abstract.html#t:Clause">Clause</a> (<a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Tuple.html#t:-40--41-">()</a>)  </li><li>| <a href="#v:IsTypeCall">IsTypeCall</a> <a href="Agda-Syntax-Abstract.html#t:Expr">Expr</a> <a href="Agda-Syntax-Internal.html#t:Sort">Sort</a> (<a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Agda-Syntax-Internal.html#t:Type">Type</a>)  </li><li>| <a href="#v:IsType_">IsType_</a> <a href="Agda-Syntax-Abstract.html#t:Expr">Expr</a> (<a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Agda-Syntax-Internal.html#t:Type">Type</a>)  </li><li>| <a href="#v:InferVar">InferVar</a> <a href="Agda-Syntax-Abstract-Name.html#t:Name">Name</a> (<a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (<a href="Agda-Syntax-Internal.html#t:Term">Term</a>, <a href="Agda-Syntax-Internal.html#t:Type">Type</a>))  </li><li>| <a href="#v:InferDef">InferDef</a> <a href="Agda-Syntax-Position.html#t:Range">Range</a> <a href="Agda-Syntax-Abstract-Name.html#t:QName">QName</a> (<a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (<a href="Agda-Syntax-Internal.html#t:Term">Term</a>, <a href="Agda-Syntax-Internal.html#t:Type">Type</a>))  </li><li>| <a href="#v:CheckArguments">CheckArguments</a> <a href="Agda-Syntax-Position.html#t:Range">Range</a> [<a href="Agda-Syntax-Common.html#t:NamedArg">NamedArg</a> <a href="Agda-Syntax-Abstract.html#t:Expr">Expr</a>] <a href="Agda-Syntax-Internal.html#t:Type">Type</a> <a href="Agda-Syntax-Internal.html#t:Type">Type</a> (<a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (<a href="Agda-Syntax-Internal.html#t:Args">Args</a>, <a href="Agda-Syntax-Internal.html#t:Type">Type</a>))  </li><li>| <a href="#v:CheckDataDef">CheckDataDef</a> <a href="Agda-Syntax-Position.html#t:Range">Range</a> <a href="Agda-Syntax-Abstract-Name.html#t:Name">Name</a> [<a href="Agda-Syntax-Abstract.html#t:LamBinding">LamBinding</a>] [<a href="Agda-Syntax-Abstract.html#t:Constructor">Constructor</a>] (<a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Tuple.html#t:-40--41-">()</a>)  </li><li>| <a href="#v:CheckRecDef">CheckRecDef</a> <a href="Agda-Syntax-Position.html#t:Range">Range</a> <a href="Agda-Syntax-Abstract-Name.html#t:Name">Name</a> [<a href="Agda-Syntax-Abstract.html#t:LamBinding">LamBinding</a>] [<a href="Agda-Syntax-Abstract.html#t:Constructor">Constructor</a>] (<a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Tuple.html#t:-40--41-">()</a>)  </li><li>| <a href="#v:CheckConstructor">CheckConstructor</a> <a href="Agda-Syntax-Abstract-Name.html#t:QName">QName</a> <a href="Agda-Syntax-Internal.html#t:Telescope">Telescope</a> <a href="Agda-Syntax-Internal.html#t:Sort">Sort</a> <a href="Agda-Syntax-Abstract.html#t:Constructor">Constructor</a> (<a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Tuple.html#t:-40--41-">()</a>)  </li><li>| <a href="#v:CheckFunDef">CheckFunDef</a> <a href="Agda-Syntax-Position.html#t:Range">Range</a> <a href="Agda-Syntax-Abstract-Name.html#t:Name">Name</a> [<a href="Agda-Syntax-Abstract.html#t:Clause">Clause</a>] (<a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Tuple.html#t:-40--41-">()</a>)  </li><li>| <a href="#v:CheckPragma">CheckPragma</a> <a href="Agda-Syntax-Position.html#t:Range">Range</a> <a href="Agda-Syntax-Abstract.html#t:Pragma">Pragma</a> (<a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Tuple.html#t:-40--41-">()</a>)  </li><li>| <a href="#v:CheckPrimitive">CheckPrimitive</a> <a href="Agda-Syntax-Position.html#t:Range">Range</a> <a href="Agda-Syntax-Abstract-Name.html#t:Name">Name</a> <a href="Agda-Syntax-Abstract.html#t:Expr">Expr</a> (<a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Tuple.html#t:-40--41-">()</a>)  </li><li>| <a href="#v:CheckIsEmpty">CheckIsEmpty</a> <a href="Agda-Syntax-Position.html#t:Range">Range</a> <a href="Agda-Syntax-Internal.html#t:Type">Type</a> (<a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Tuple.html#t:-40--41-">()</a>)  </li><li>| <a href="#v:CheckWithFunctionType">CheckWithFunctionType</a> <a href="Agda-Syntax-Abstract.html#t:Expr">Expr</a> (<a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Tuple.html#t:-40--41-">()</a>)  </li><li>| <a href="#v:CheckSectionApplication">CheckSectionApplication</a> <a href="Agda-Syntax-Position.html#t:Range">Range</a> <a href="Agda-Syntax-Abstract-Name.html#t:ModuleName">ModuleName</a> <a href="Agda-Syntax-Abstract.html#t:ModuleApplication">ModuleApplication</a> (<a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Tuple.html#t:-40--41-">()</a>)  </li><li>| <a href="#v:ScopeCheckExpr">ScopeCheckExpr</a> <a href="Agda-Syntax-Concrete.html#t:Expr">Expr</a> (<a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Agda-Syntax-Abstract.html#t:Expr">Expr</a>)  </li><li>| <a href="#v:ScopeCheckDeclaration">ScopeCheckDeclaration</a> <a href="Agda-Syntax-Concrete-Definitions.html#t:NiceDeclaration">NiceDeclaration</a> (<a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a> [<a href="Agda-Syntax-Abstract.html#t:Declaration">Declaration</a>])  </li><li>| <a href="#v:ScopeCheckLHS">ScopeCheckLHS</a> <a href="Agda-Syntax-Concrete-Name.html#t:Name">Name</a> <a href="Agda-Syntax-Concrete.html#t:Pattern">Pattern</a> (<a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Agda-Syntax-Abstract.html#t:LHS">LHS</a>)  </li><li>| <span class="keyword">forall</span> a . <a href="#v:NoHighlighting">NoHighlighting</a> (<a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a> a)  </li><li>| <span class="keyword">forall</span> a . <a href="#v:SetRange">SetRange</a> <a href="Agda-Syntax-Position.html#t:Range">Range</a> (<a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a> a)  </li></ul></li><li class="src short"><span class="keyword">data</span>  <a href="#t:BuiltinDescriptor">BuiltinDescriptor</a> <ul class="subs"><li>= <a href="#v:BuiltinData">BuiltinData</a> (<a href="Agda-TypeChecking-Monad-Base.html#t:TCM">TCM</a> <a href="Agda-Syntax-Internal.html#t:Type">Type</a>) [<a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-String.html#t:String">String</a>]  </li><li>| <a href="#v:BuiltinDataCons">BuiltinDataCons</a> (<a href="Agda-TypeChecking-Monad-Base.html#t:TCM">TCM</a> <a href="Agda-Syntax-Internal.html#t:Type">Type</a>)  </li><li>| <a href="#v:BuiltinPrim">BuiltinPrim</a> <a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-String.html#t:String">String</a> (<a href="Agda-Syntax-Internal.html#t:Term">Term</a> -&gt; <a href="Agda-TypeChecking-Monad-Base.html#t:TCM">TCM</a> <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Tuple.html#t:-40--41-">()</a>)  </li><li>| <a href="#v:BuiltinPostulate">BuiltinPostulate</a> <a href="Agda-Syntax-Common.html#t:Relevance">Relevance</a> (<a href="Agda-TypeChecking-Monad-Base.html#t:TCM">TCM</a> <a href="Agda-Syntax-Internal.html#t:Type">Type</a>)  </li><li>| <a href="#v:BuiltinUnknown">BuiltinUnknown</a> (<a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (<a href="Agda-TypeChecking-Monad-Base.html#t:TCM">TCM</a> <a href="Agda-Syntax-Internal.html#t:Type">Type</a>)) (<a href="Agda-Syntax-Internal.html#t:Term">Term</a> -&gt; <a href="Agda-TypeChecking-Monad-Base.html#t:TCM">TCM</a> <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Tuple.html#t:-40--41-">()</a>)  </li></ul></li><li class="src short"><span class="keyword">data</span>  <a href="#t:BuiltinInfo">BuiltinInfo</a>  = <a href="#v:BuiltinInfo">BuiltinInfo</a> {<ul class="subs"><li><a href="#v:builtinName">builtinName</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-String.html#t:String">String</a></li><li><a href="#v:builtinDesc">builtinDesc</a> :: <a href="Agda-TypeChecking-Monad-Base.html#t:BuiltinDescriptor">BuiltinDescriptor</a></li></ul>}</li><li class="src short"><span class="keyword">type</span> <a href="#t:BuiltinThings">BuiltinThings</a> pf = <a href="/usr/share/doc/ghc/html/libraries/containers-0.4.2.1/Data-Map.html#t:Map">Map</a> <a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-String.html#t:String">String</a> (<a href="Agda-TypeChecking-Monad-Base.html#t:Builtin">Builtin</a> pf)</li><li class="src short"><span class="keyword">data</span>  <a href="#t:Builtin">Builtin</a> pf<ul class="subs"><li>= <a href="#v:Builtin">Builtin</a> <a href="Agda-Syntax-Internal.html#t:Term">Term</a>  </li><li>| <a href="#v:Prim">Prim</a> pf  </li></ul></li><li class="src short"><span class="keyword">data</span>  <a href="#t:HighlightingLevel">HighlightingLevel</a> <ul class="subs"><li>= <a href="#v:None">None</a>  </li><li>| <a href="#v:NonInteractive">NonInteractive</a>  </li><li>| <a href="#v:Interactive">Interactive</a>  </li></ul></li><li class="src short"><span class="keyword">data</span>  <a href="#t:HighlightingMethod">HighlightingMethod</a> <ul class="subs"><li>= <a href="#v:Direct">Direct</a>  </li><li>| <a href="#v:Indirect">Indirect</a>  </li></ul></li><li class="src short"><a href="#v:ifTopLevelAndHighlightingLevelIs">ifTopLevelAndHighlightingLevelIs</a> :: <a href="Agda-TypeChecking-Monad-Base.html#t:MonadTCM">MonadTCM</a> tcm =&gt; <a href="Agda-TypeChecking-Monad-Base.html#t:HighlightingLevel">HighlightingLevel</a> -&gt; tcm <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Tuple.html#t:-40--41-">()</a> -&gt; tcm <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Tuple.html#t:-40--41-">()</a></li><li class="src short"><span class="keyword">data</span>  <a href="#t:TCEnv">TCEnv</a>  = <a href="#v:TCEnv">TCEnv</a> {<ul class="subs"><li><a href="#v:envContext">envContext</a> :: <a href="Agda-TypeChecking-Monad-Base.html#t:Context">Context</a></li><li><a href="#v:envLetBindings">envLetBindings</a> :: <a href="Agda-TypeChecking-Monad-Base.html#t:LetBindings">LetBindings</a></li><li><a href="#v:envCurrentModule">envCurrentModule</a> :: <a href="Agda-Syntax-Abstract-Name.html#t:ModuleName">ModuleName</a></li><li><a href="#v:envCurrentPath">envCurrentPath</a> :: <a href="Agda-Utils-FileName.html#t:AbsolutePath">AbsolutePath</a></li><li><a href="#v:envAnonymousModules">envAnonymousModules</a> :: [(<a href="Agda-Syntax-Abstract-Name.html#t:ModuleName">ModuleName</a>, <a href="Agda-Syntax-Common.html#t:Nat">Nat</a>)]</li><li><a href="#v:envImportPath">envImportPath</a> :: [<a href="Agda-Syntax-Concrete-Name.html#t:TopLevelModuleName">TopLevelModuleName</a>]</li><li><a href="#v:envMutualBlock">envMutualBlock</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Agda-TypeChecking-Monad-Base.html#t:MutualId">MutualId</a></li><li><a href="#v:envSolvingConstraints">envSolvingConstraints</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></li><li><a href="#v:envAssignMetas">envAssignMetas</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></li><li><a href="#v:envActiveProblems">envActiveProblems</a> :: [<a href="Agda-TypeChecking-Monad-Base.html#t:ProblemId">ProblemId</a>]</li><li><a href="#v:envAbstractMode">envAbstractMode</a> :: <a href="Agda-TypeChecking-Monad-Base.html#t:AbstractMode">AbstractMode</a></li><li><a href="#v:envRelevance">envRelevance</a> :: <a href="Agda-Syntax-Common.html#t:Relevance">Relevance</a></li><li><a href="#v:envDisplayFormsEnabled">envDisplayFormsEnabled</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></li><li><a href="#v:envReifyInteractionPoints">envReifyInteractionPoints</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></li><li><a href="#v:envEtaContractImplicit">envEtaContractImplicit</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></li><li><a href="#v:envRange">envRange</a> :: <a href="Agda-Syntax-Position.html#t:Range">Range</a></li><li><a href="#v:envHighlightingRange">envHighlightingRange</a> :: <a href="Agda-Syntax-Position.html#t:Range">Range</a></li><li><a href="#v:envCall">envCall</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (<a href="Agda-TypeChecking-Monad-Base.html#t:Closure">Closure</a> <a href="Agda-TypeChecking-Monad-Base.html#t:Call">Call</a>)</li><li><a href="#v:envEmacs">envEmacs</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></li><li><a href="#v:envHighlightingLevel">envHighlightingLevel</a> :: <a href="Agda-TypeChecking-Monad-Base.html#t:HighlightingLevel">HighlightingLevel</a></li><li><a href="#v:envHighlightingMethod">envHighlightingMethod</a> :: <a href="Agda-TypeChecking-Monad-Base.html#t:HighlightingMethod">HighlightingMethod</a></li><li><a href="#v:envModuleNestingLevel">envModuleNestingLevel</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Prelude.html#t:Integer">Integer</a></li><li><a href="#v:envAllowDestructiveUpdate">envAllowDestructiveUpdate</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></li></ul>}</li><li class="src short"><a href="#v:initEnv">initEnv</a> :: <a href="Agda-TypeChecking-Monad-Base.html#t:TCEnv">TCEnv</a></li><li class="src short"><span class="keyword">type</span> <a href="#t:Context">Context</a> = [<a href="Agda-TypeChecking-Monad-Base.html#t:ContextEntry">ContextEntry</a>]</li><li class="src short"><span class="keyword">data</span>  <a href="#t:ContextEntry">ContextEntry</a>  = <a href="#v:Ctx">Ctx</a> {<ul class="subs"><li><a href="#v:ctxId">ctxId</a> :: <a href="Agda-TypeChecking-Monad-Base.html#t:CtxId">CtxId</a></li><li><a href="#v:ctxEntry">ctxEntry</a> :: <a href="Agda-Syntax-Common.html#t:Dom">Dom</a> (<a href="Agda-Syntax-Abstract-Name.html#t:Name">Name</a>, <a href="Agda-Syntax-Internal.html#t:Type">Type</a>)</li></ul>}</li><li class="src short"><span class="keyword">newtype</span>  <a href="#t:CtxId">CtxId</a>  = <a href="#v:CtxId">CtxId</a> <a href="Agda-Syntax-Common.html#t:Nat">Nat</a></li><li class="src short"><span class="keyword">type</span> <a href="#t:LetBindings">LetBindings</a> = <a href="/usr/share/doc/ghc/html/libraries/containers-0.4.2.1/Data-Map.html#t:Map">Map</a> <a href="Agda-Syntax-Abstract-Name.html#t:Name">Name</a> (<a href="Agda-TypeChecking-Monad-Base.html#t:Open">Open</a> (<a href="Agda-Syntax-Internal.html#t:Term">Term</a>, <a href="Agda-Syntax-Common.html#t:Dom">Dom</a> <a href="Agda-Syntax-Internal.html#t:Type">Type</a>))</li><li class="src short"><span class="keyword">data</span>  <a href="#t:AbstractMode">AbstractMode</a> <ul class="subs"><li>= <a href="#v:AbstractMode">AbstractMode</a>  </li><li>| <a href="#v:ConcreteMode">ConcreteMode</a>  </li><li>| <a href="#v:IgnoreAbstractMode">IgnoreAbstractMode</a>  </li></ul></li><li class="src short"><span class="keyword">data</span>  <a href="#t:ExpandHidden">ExpandHidden</a> <ul class="subs"><li>= <a href="#v:ExpandLast">ExpandLast</a>  </li><li>| <a href="#v:DontExpandLast">DontExpandLast</a>  </li></ul></li><li class="src short"><span class="keyword">data</span>  <a href="#t:ExpandInstances">ExpandInstances</a> <ul class="subs"><li>= <a href="#v:ExpandInstanceArguments">ExpandInstanceArguments</a>  </li><li>| <a href="#v:DontExpandInstanceArguments">DontExpandInstanceArguments</a>  </li></ul></li><li class="src short"><span class="keyword">data</span>  <a href="#t:Occ">Occ</a> <ul class="subs"><li>= <a href="#v:OccCon">OccCon</a> { <ul class="subs"><li><a href="#v:occDatatype">occDatatype</a> :: <a href="Agda-Syntax-Abstract-Name.html#t:QName">QName</a></li><li><a href="#v:occConstructor">occConstructor</a> :: <a href="Agda-Syntax-Abstract-Name.html#t:QName">QName</a></li><li><a href="#v:occPosition">occPosition</a> :: <a href="Agda-TypeChecking-Monad-Base.html#t:OccPos">OccPos</a></li></ul> }</li><li>| <a href="#v:OccClause">OccClause</a> { <ul class="subs"><li><a href="#v:occFunction">occFunction</a> :: <a href="Agda-Syntax-Abstract-Name.html#t:QName">QName</a></li><li><a href="#v:occClause">occClause</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Int.html#t:Int">Int</a></li><li><a href="#v:occPosition">occPosition</a> :: <a href="Agda-TypeChecking-Monad-Base.html#t:OccPos">OccPos</a></li></ul> }</li></ul></li><li class="src short"><span class="keyword">data</span>  <a href="#t:OccPos">OccPos</a> <ul class="subs"><li>= <a href="#v:NonPositively">NonPositively</a>  </li><li>| <a href="#v:ArgumentTo">ArgumentTo</a> <a href="Agda-Syntax-Common.html#t:Nat">Nat</a> <a href="Agda-Syntax-Abstract-Name.html#t:QName">QName</a>  </li></ul></li><li class="src short"><span class="keyword">data</span>  <a href="#t:CallInfo">CallInfo</a>  = <a href="#v:CallInfo">CallInfo</a> {<ul class="subs"><li><a href="#v:callInfoRange">callInfoRange</a> :: <a href="Agda-Syntax-Position.html#t:Range">Range</a></li><li><a href="#v:callInfoCall">callInfoCall</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-String.html#t:String">String</a></li></ul>}</li><li class="src short"><span class="keyword">data</span>  <a href="#t:TerminationError">TerminationError</a>  = <a href="#v:TerminationError">TerminationError</a> {<ul class="subs"><li><a href="#v:termErrFunctions">termErrFunctions</a> :: [<a href="Agda-Syntax-Abstract-Name.html#t:QName">QName</a>]</li><li><a href="#v:termErrCalls">termErrCalls</a> :: [<a href="Agda-TypeChecking-Monad-Base.html#t:CallInfo">CallInfo</a>]</li></ul>}</li><li class="src short"><span class="keyword">data</span>  <a href="#t:TypeError">TypeError</a> <ul class="subs"><li>= <a href="#v:InternalError">InternalError</a> <a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-String.html#t:String">String</a>  </li><li>| <a href="#v:NotImplemented">NotImplemented</a> <a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-String.html#t:String">String</a>  </li><li>| <a href="#v:NotSupported">NotSupported</a> <a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-String.html#t:String">String</a>  </li><li>| <a href="#v:CompilationError">CompilationError</a> <a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-String.html#t:String">String</a>  </li><li>| <a href="#v:TerminationCheckFailed">TerminationCheckFailed</a> [<a href="Agda-TypeChecking-Monad-Base.html#t:TerminationError">TerminationError</a>]  </li><li>| <a href="#v:PropMustBeSingleton">PropMustBeSingleton</a>  </li><li>| <a href="#v:DataMustEndInSort">DataMustEndInSort</a> <a href="Agda-Syntax-Internal.html#t:Term">Term</a>  </li><li>| <a href="#v:ShouldEndInApplicationOfTheDatatype">ShouldEndInApplicationOfTheDatatype</a> <a href="Agda-Syntax-Internal.html#t:Type">Type</a>  </li><li>| <a href="#v:ShouldBeAppliedToTheDatatypeParameters">ShouldBeAppliedToTheDatatypeParameters</a> <a href="Agda-Syntax-Internal.html#t:Term">Term</a> <a href="Agda-Syntax-Internal.html#t:Term">Term</a>  </li><li>| <a href="#v:ShouldBeApplicationOf">ShouldBeApplicationOf</a> <a href="Agda-Syntax-Internal.html#t:Type">Type</a> <a href="Agda-Syntax-Abstract-Name.html#t:QName">QName</a>  </li><li>| <a href="#v:ConstructorPatternInWrongDatatype">ConstructorPatternInWrongDatatype</a> <a href="Agda-Syntax-Abstract-Name.html#t:QName">QName</a> <a href="Agda-Syntax-Abstract-Name.html#t:QName">QName</a>  </li><li>| <a href="#v:IndicesNotConstructorApplications">IndicesNotConstructorApplications</a> [<a href="Agda-Syntax-Common.html#t:Arg">Arg</a> <a href="Agda-Syntax-Internal.html#t:Term">Term</a>]  </li><li>| <a href="#v:IndexVariablesNotDistinct">IndexVariablesNotDistinct</a> [<a href="Agda-Syntax-Common.html#t:Nat">Nat</a>] [<a href="Agda-Syntax-Common.html#t:Arg">Arg</a> <a href="Agda-Syntax-Internal.html#t:Term">Term</a>]  </li><li>| <a href="#v:IndicesFreeInParameters">IndicesFreeInParameters</a> [<a href="Agda-Syntax-Common.html#t:Nat">Nat</a>] [<a href="Agda-Syntax-Common.html#t:Arg">Arg</a> <a href="Agda-Syntax-Internal.html#t:Term">Term</a>] [<a href="Agda-Syntax-Common.html#t:Arg">Arg</a> <a href="Agda-Syntax-Internal.html#t:Term">Term</a>]  </li><li>| <a href="#v:DoesNotConstructAnElementOf">DoesNotConstructAnElementOf</a> <a href="Agda-Syntax-Abstract-Name.html#t:QName">QName</a> <a href="Agda-Syntax-Internal.html#t:Term">Term</a>  </li><li>| <a href="#v:DifferentArities">DifferentArities</a>  </li><li>| <a href="#v:WrongHidingInLHS">WrongHidingInLHS</a> <a href="Agda-Syntax-Internal.html#t:Type">Type</a>  </li><li>| <a href="#v:WrongHidingInLambda">WrongHidingInLambda</a> <a href="Agda-Syntax-Internal.html#t:Type">Type</a>  </li><li>| <a href="#v:WrongHidingInApplication">WrongHidingInApplication</a> <a href="Agda-Syntax-Internal.html#t:Type">Type</a>  </li><li>| <a href="#v:WrongIrrelevanceInLambda">WrongIrrelevanceInLambda</a> <a href="Agda-Syntax-Internal.html#t:Type">Type</a>  </li><li>| <a href="#v:NotInductive">NotInductive</a> <a href="Agda-Syntax-Internal.html#t:Term">Term</a>  </li><li>| <a href="#v:UninstantiatedDotPattern">UninstantiatedDotPattern</a> <a href="Agda-Syntax-Abstract.html#t:Expr">Expr</a>  </li><li>| <a href="#v:IlltypedPattern">IlltypedPattern</a> <a href="Agda-Syntax-Abstract.html#t:Pattern">Pattern</a> <a href="Agda-Syntax-Internal.html#t:Type">Type</a>  </li><li>| <a href="#v:TooManyArgumentsInLHS">TooManyArgumentsInLHS</a> <a href="Agda-Syntax-Internal.html#t:Type">Type</a>  </li><li>| <a href="#v:WrongNumberOfConstructorArguments">WrongNumberOfConstructorArguments</a> <a href="Agda-Syntax-Abstract-Name.html#t:QName">QName</a> <a href="Agda-Syntax-Common.html#t:Nat">Nat</a> <a href="Agda-Syntax-Common.html#t:Nat">Nat</a>  </li><li>| <a href="#v:ShouldBeEmpty">ShouldBeEmpty</a> <a href="Agda-Syntax-Internal.html#t:Type">Type</a> [<a href="Agda-Syntax-Internal.html#t:Pattern">Pattern</a>]  </li><li>| <a href="#v:ShouldBeASort">ShouldBeASort</a> <a href="Agda-Syntax-Internal.html#t:Type">Type</a>  </li><li>| <a href="#v:ShouldBePi">ShouldBePi</a> <a href="Agda-Syntax-Internal.html#t:Type">Type</a>  </li><li>| <a href="#v:ShouldBeRecordType">ShouldBeRecordType</a> <a href="Agda-Syntax-Internal.html#t:Type">Type</a>  </li><li>| <a href="#v:ShouldBeRecordPattern">ShouldBeRecordPattern</a> <a href="Agda-Syntax-Internal.html#t:Pattern">Pattern</a>  </li><li>| <a href="#v:NotAProperTerm">NotAProperTerm</a>  </li><li>| <a href="#v:SetOmegaNotValidType">SetOmegaNotValidType</a>  </li><li>| <a href="#v:SplitOnIrrelevant">SplitOnIrrelevant</a> <a href="Agda-Syntax-Abstract.html#t:Pattern">Pattern</a> (<a href="Agda-Syntax-Common.html#t:Dom">Dom</a> <a href="Agda-Syntax-Internal.html#t:Type">Type</a>)  </li><li>| <a href="#v:DefinitionIsIrrelevant">DefinitionIsIrrelevant</a> <a href="Agda-Syntax-Abstract-Name.html#t:QName">QName</a>  </li><li>| <a href="#v:VariableIsIrrelevant">VariableIsIrrelevant</a> <a href="Agda-Syntax-Abstract-Name.html#t:Name">Name</a>  </li><li>| <a href="#v:UnequalLevel">UnequalLevel</a> <a href="Agda-TypeChecking-Monad-Base.html#t:Comparison">Comparison</a> <a href="Agda-Syntax-Internal.html#t:Term">Term</a> <a href="Agda-Syntax-Internal.html#t:Term">Term</a>  </li><li>| <a href="#v:UnequalTerms">UnequalTerms</a> <a href="Agda-TypeChecking-Monad-Base.html#t:Comparison">Comparison</a> <a href="Agda-Syntax-Internal.html#t:Term">Term</a> <a href="Agda-Syntax-Internal.html#t:Term">Term</a> <a href="Agda-Syntax-Internal.html#t:Type">Type</a>  </li><li>| <a href="#v:UnequalTypes">UnequalTypes</a> <a href="Agda-TypeChecking-Monad-Base.html#t:Comparison">Comparison</a> <a href="Agda-Syntax-Internal.html#t:Type">Type</a> <a href="Agda-Syntax-Internal.html#t:Type">Type</a>  </li><li>| <a href="#v:UnequalTelescopes">UnequalTelescopes</a> <a href="Agda-TypeChecking-Monad-Base.html#t:Comparison">Comparison</a> <a href="Agda-Syntax-Internal.html#t:Telescope">Telescope</a> <a href="Agda-Syntax-Internal.html#t:Telescope">Telescope</a>  </li><li>| <a href="#v:UnequalRelevance">UnequalRelevance</a> <a href="Agda-TypeChecking-Monad-Base.html#t:Comparison">Comparison</a> <a href="Agda-Syntax-Internal.html#t:Term">Term</a> <a href="Agda-Syntax-Internal.html#t:Term">Term</a>  </li><li>| <a href="#v:UnequalHiding">UnequalHiding</a> <a href="Agda-Syntax-Internal.html#t:Term">Term</a> <a href="Agda-Syntax-Internal.html#t:Term">Term</a>  </li><li>| <a href="#v:UnequalSorts">UnequalSorts</a> <a href="Agda-Syntax-Internal.html#t:Sort">Sort</a> <a href="Agda-Syntax-Internal.html#t:Sort">Sort</a>  </li><li>| <a href="#v:UnequalBecauseOfUniverseConflict">UnequalBecauseOfUniverseConflict</a> <a href="Agda-TypeChecking-Monad-Base.html#t:Comparison">Comparison</a> <a href="Agda-Syntax-Internal.html#t:Term">Term</a> <a href="Agda-Syntax-Internal.html#t:Term">Term</a>  </li><li>| <a href="#v:HeterogeneousEquality">HeterogeneousEquality</a> <a href="Agda-Syntax-Internal.html#t:Term">Term</a> <a href="Agda-Syntax-Internal.html#t:Type">Type</a> <a href="Agda-Syntax-Internal.html#t:Term">Term</a> <a href="Agda-Syntax-Internal.html#t:Type">Type</a>  </li><li>| <a href="#v:NotLeqSort">NotLeqSort</a> <a href="Agda-Syntax-Internal.html#t:Sort">Sort</a> <a href="Agda-Syntax-Internal.html#t:Sort">Sort</a>  </li><li>| <a href="#v:MetaCannotDependOn">MetaCannotDependOn</a> <a href="Agda-Syntax-Internal.html#t:MetaId">MetaId</a> [<a href="Agda-Syntax-Common.html#t:Nat">Nat</a>] <a href="Agda-Syntax-Common.html#t:Nat">Nat</a>  </li><li>| <a href="#v:MetaOccursInItself">MetaOccursInItself</a> <a href="Agda-Syntax-Internal.html#t:MetaId">MetaId</a>  </li><li>| <a href="#v:GenericError">GenericError</a> <a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-String.html#t:String">String</a>  </li><li>| <a href="#v:GenericDocError">GenericDocError</a> <a href="/usr/share/doc/ghc/html/libraries/pretty-1.1.1.0/Text-PrettyPrint.html#t:Doc">Doc</a>  </li><li>| <a href="#v:BuiltinMustBeConstructor">BuiltinMustBeConstructor</a> <a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-String.html#t:String">String</a> <a href="Agda-Syntax-Abstract.html#t:Expr">Expr</a>  </li><li>| <a href="#v:NoSuchBuiltinName">NoSuchBuiltinName</a> <a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-String.html#t:String">String</a>  </li><li>| <a href="#v:DuplicateBuiltinBinding">DuplicateBuiltinBinding</a> <a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-String.html#t:String">String</a> <a href="Agda-Syntax-Internal.html#t:Term">Term</a> <a href="Agda-Syntax-Internal.html#t:Term">Term</a>  </li><li>| <a href="#v:NoBindingForBuiltin">NoBindingForBuiltin</a> <a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-String.html#t:String">String</a>  </li><li>| <a href="#v:NoSuchPrimitiveFunction">NoSuchPrimitiveFunction</a> <a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-String.html#t:String">String</a>  </li><li>| <a href="#v:ShadowedModule">ShadowedModule</a> <a href="Agda-Syntax-Concrete-Name.html#t:Name">Name</a> [<a href="Agda-Syntax-Abstract-Name.html#t:ModuleName">ModuleName</a>]  </li><li>| <a href="#v:BuiltinInParameterisedModule">BuiltinInParameterisedModule</a> <a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-String.html#t:String">String</a>  </li><li>| <a href="#v:NoRHSRequiresAbsurdPattern">NoRHSRequiresAbsurdPattern</a> [<a href="Agda-Syntax-Common.html#t:NamedArg">NamedArg</a> <a href="Agda-Syntax-Abstract.html#t:Pattern">Pattern</a>]  </li><li>| <a href="#v:AbsurdPatternRequiresNoRHS">AbsurdPatternRequiresNoRHS</a> [<a href="Agda-Syntax-Common.html#t:NamedArg">NamedArg</a> <a href="Agda-Syntax-Abstract.html#t:Pattern">Pattern</a>]  </li><li>| <a href="#v:TooFewFields">TooFewFields</a> <a href="Agda-Syntax-Abstract-Name.html#t:QName">QName</a> [<a href="Agda-Syntax-Concrete-Name.html#t:Name">Name</a>]  </li><li>| <a href="#v:TooManyFields">TooManyFields</a> <a href="Agda-Syntax-Abstract-Name.html#t:QName">QName</a> [<a href="Agda-Syntax-Concrete-Name.html#t:Name">Name</a>]  </li><li>| <a href="#v:DuplicateFields">DuplicateFields</a> [<a href="Agda-Syntax-Concrete-Name.html#t:Name">Name</a>]  </li><li>| <a href="#v:DuplicateConstructors">DuplicateConstructors</a> [<a href="Agda-Syntax-Concrete-Name.html#t:Name">Name</a>]  </li><li>| <a href="#v:UnexpectedWithPatterns">UnexpectedWithPatterns</a> [<a href="Agda-Syntax-Abstract.html#t:Pattern">Pattern</a>]  </li><li>| <a href="#v:WithClausePatternMismatch">WithClausePatternMismatch</a> <a href="Agda-Syntax-Abstract.html#t:Pattern">Pattern</a> <a href="Agda-Syntax-Internal.html#t:Pattern">Pattern</a>  </li><li>| <a href="#v:FieldOutsideRecord">FieldOutsideRecord</a>  </li><li>| <a href="#v:ModuleArityMismatch">ModuleArityMismatch</a> <a href="Agda-Syntax-Abstract-Name.html#t:ModuleName">ModuleName</a> <a href="Agda-Syntax-Internal.html#t:Telescope">Telescope</a> [<a href="Agda-Syntax-Common.html#t:NamedArg">NamedArg</a> <a href="Agda-Syntax-Abstract.html#t:Expr">Expr</a>]  </li><li>| <a href="#v:IncompletePatternMatching">IncompletePatternMatching</a> <a href="Agda-Syntax-Internal.html#t:Term">Term</a> <a href="Agda-Syntax-Internal.html#t:Args">Args</a>  </li><li>| <a href="#v:CoverageFailure">CoverageFailure</a> <a href="Agda-Syntax-Abstract-Name.html#t:QName">QName</a> [[<a href="Agda-Syntax-Common.html#t:Arg">Arg</a> <a href="Agda-Syntax-Internal.html#t:Pattern">Pattern</a>]]  </li><li>| <a href="#v:UnreachableClauses">UnreachableClauses</a> <a href="Agda-Syntax-Abstract-Name.html#t:QName">QName</a> [[<a href="Agda-Syntax-Common.html#t:Arg">Arg</a> <a href="Agda-Syntax-Internal.html#t:Pattern">Pattern</a>]]  </li><li>| <a href="#v:CoverageCantSplitOn">CoverageCantSplitOn</a> <a href="Agda-Syntax-Abstract-Name.html#t:QName">QName</a> <a href="Agda-Syntax-Internal.html#t:Telescope">Telescope</a> <a href="Agda-Syntax-Internal.html#t:Args">Args</a> <a href="Agda-Syntax-Internal.html#t:Args">Args</a>  </li><li>| <a href="#v:CoverageCantSplitIrrelevantType">CoverageCantSplitIrrelevantType</a> <a href="Agda-Syntax-Internal.html#t:Type">Type</a>  </li><li>| <a href="#v:CoverageCantSplitType">CoverageCantSplitType</a> <a href="Agda-Syntax-Internal.html#t:Type">Type</a>  </li><li>| <a href="#v:NotStrictlyPositive">NotStrictlyPositive</a> <a href="Agda-Syntax-Abstract-Name.html#t:QName">QName</a> [<a href="Agda-TypeChecking-Monad-Base.html#t:Occ">Occ</a>]  </li><li>| <a href="#v:LocalVsImportedModuleClash">LocalVsImportedModuleClash</a> <a href="Agda-Syntax-Abstract-Name.html#t:ModuleName">ModuleName</a>  </li><li>| <a href="#v:UnsolvedMetas">UnsolvedMetas</a> [<a href="Agda-Syntax-Position.html#t:Range">Range</a>]  </li><li>| <a href="#v:UnsolvedConstraints">UnsolvedConstraints</a> <a href="Agda-TypeChecking-Monad-Base.html#t:Constraints">Constraints</a>  </li><li>| <a href="#v:CyclicModuleDependency">CyclicModuleDependency</a> [<a href="Agda-Syntax-Concrete-Name.html#t:TopLevelModuleName">TopLevelModuleName</a>]  </li><li>| <a href="#v:FileNotFound">FileNotFound</a> <a href="Agda-Syntax-Concrete-Name.html#t:TopLevelModuleName">TopLevelModuleName</a> [<a href="Agda-Utils-FileName.html#t:AbsolutePath">AbsolutePath</a>]  </li><li>| <a href="#v:OverlappingProjects">OverlappingProjects</a> <a href="Agda-Utils-FileName.html#t:AbsolutePath">AbsolutePath</a> <a href="Agda-Syntax-Concrete-Name.html#t:TopLevelModuleName">TopLevelModuleName</a> <a href="Agda-Syntax-Concrete-Name.html#t:TopLevelModuleName">TopLevelModuleName</a>  </li><li>| <a href="#v:AmbiguousTopLevelModuleName">AmbiguousTopLevelModuleName</a> <a href="Agda-Syntax-Concrete-Name.html#t:TopLevelModuleName">TopLevelModuleName</a> [<a href="Agda-Utils-FileName.html#t:AbsolutePath">AbsolutePath</a>]  </li><li>| <a href="#v:ModuleNameDoesntMatchFileName">ModuleNameDoesntMatchFileName</a> <a href="Agda-Syntax-Concrete-Name.html#t:TopLevelModuleName">TopLevelModuleName</a> [<a href="Agda-Utils-FileName.html#t:AbsolutePath">AbsolutePath</a>]  </li><li>| <a href="#v:ClashingFileNamesFor">ClashingFileNamesFor</a> <a href="Agda-Syntax-Abstract-Name.html#t:ModuleName">ModuleName</a> [<a href="Agda-Utils-FileName.html#t:AbsolutePath">AbsolutePath</a>]  </li><li>| <a href="#v:ModuleDefinedInOtherFile">ModuleDefinedInOtherFile</a> <a href="Agda-Syntax-Concrete-Name.html#t:TopLevelModuleName">TopLevelModuleName</a> <a href="Agda-Utils-FileName.html#t:AbsolutePath">AbsolutePath</a> <a href="Agda-Utils-FileName.html#t:AbsolutePath">AbsolutePath</a>  </li><li>| <a href="#v:BothWithAndRHS">BothWithAndRHS</a>  </li><li>| <a href="#v:NotInScope">NotInScope</a> [<a href="Agda-Syntax-Concrete-Name.html#t:QName">QName</a>]  </li><li>| <a href="#v:NoSuchModule">NoSuchModule</a> <a href="Agda-Syntax-Concrete-Name.html#t:QName">QName</a>  </li><li>| <a href="#v:AmbiguousName">AmbiguousName</a> <a href="Agda-Syntax-Concrete-Name.html#t:QName">QName</a> [<a href="Agda-Syntax-Abstract-Name.html#t:QName">QName</a>]  </li><li>| <a href="#v:AmbiguousModule">AmbiguousModule</a> <a href="Agda-Syntax-Concrete-Name.html#t:QName">QName</a> [<a href="Agda-Syntax-Abstract-Name.html#t:ModuleName">ModuleName</a>]  </li><li>| <a href="#v:UninstantiatedModule">UninstantiatedModule</a> <a href="Agda-Syntax-Concrete-Name.html#t:QName">QName</a>  </li><li>| <a href="#v:ClashingDefinition">ClashingDefinition</a> <a href="Agda-Syntax-Concrete-Name.html#t:QName">QName</a> <a href="Agda-Syntax-Abstract-Name.html#t:QName">QName</a>  </li><li>| <a href="#v:ClashingModule">ClashingModule</a> <a href="Agda-Syntax-Abstract-Name.html#t:ModuleName">ModuleName</a> <a href="Agda-Syntax-Abstract-Name.html#t:ModuleName">ModuleName</a>  </li><li>| <a href="#v:ClashingImport">ClashingImport</a> <a href="Agda-Syntax-Concrete-Name.html#t:Name">Name</a> <a href="Agda-Syntax-Abstract-Name.html#t:QName">QName</a>  </li><li>| <a href="#v:ClashingModuleImport">ClashingModuleImport</a> <a href="Agda-Syntax-Concrete-Name.html#t:Name">Name</a> <a href="Agda-Syntax-Abstract-Name.html#t:ModuleName">ModuleName</a>  </li><li>| <a href="#v:PatternShadowsConstructor">PatternShadowsConstructor</a> <a href="Agda-Syntax-Abstract-Name.html#t:Name">Name</a> <a href="Agda-Syntax-Abstract-Name.html#t:QName">QName</a>  </li><li>| <a href="#v:ModuleDoesntExport">ModuleDoesntExport</a> <a href="Agda-Syntax-Concrete-Name.html#t:QName">QName</a> [<a href="Agda-Syntax-Concrete.html#t:ImportedName">ImportedName</a>]  </li><li>| <a href="#v:DuplicateImports">DuplicateImports</a> <a href="Agda-Syntax-Concrete-Name.html#t:QName">QName</a> [<a href="Agda-Syntax-Concrete.html#t:ImportedName">ImportedName</a>]  </li><li>| <a href="#v:InvalidPattern">InvalidPattern</a> <a href="Agda-Syntax-Concrete.html#t:Pattern">Pattern</a>  </li><li>| <a href="#v:RepeatedVariablesInPattern">RepeatedVariablesInPattern</a> [<a href="Agda-Syntax-Concrete-Name.html#t:Name">Name</a>]  </li><li>| <a href="#v:NotAModuleExpr">NotAModuleExpr</a> <a href="Agda-Syntax-Concrete.html#t:Expr">Expr</a>  </li><li>| <a href="#v:NotAnExpression">NotAnExpression</a> <a href="Agda-Syntax-Concrete.html#t:Expr">Expr</a>  </li><li>| <a href="#v:NotAValidLetBinding">NotAValidLetBinding</a> <a href="Agda-Syntax-Concrete-Definitions.html#t:NiceDeclaration">NiceDeclaration</a>  </li><li>| <a href="#v:NothingAppliedToHiddenArg">NothingAppliedToHiddenArg</a> <a href="Agda-Syntax-Concrete.html#t:Expr">Expr</a>  </li><li>| <a href="#v:NothingAppliedToInstanceArg">NothingAppliedToInstanceArg</a> <a href="Agda-Syntax-Concrete.html#t:Expr">Expr</a>  </li><li>| <a href="#v:UnusedVariableInPatternSynonym">UnusedVariableInPatternSynonym</a>  </li><li>| <a href="#v:PatternSynonymArityMismatch">PatternSynonymArityMismatch</a> <a href="Agda-Syntax-Abstract-Name.html#t:QName">QName</a>  </li><li>| <a href="#v:NoParseForApplication">NoParseForApplication</a> [<a href="Agda-Syntax-Concrete.html#t:Expr">Expr</a>]  </li><li>| <a href="#v:AmbiguousParseForApplication">AmbiguousParseForApplication</a> [<a href="Agda-Syntax-Concrete.html#t:Expr">Expr</a>] [<a href="Agda-Syntax-Concrete.html#t:Expr">Expr</a>]  </li><li>| <a href="#v:NoParseForLHS">NoParseForLHS</a> <a href="Agda-TypeChecking-Monad-Base.html#t:LHSOrPatSyn">LHSOrPatSyn</a> <a href="Agda-Syntax-Concrete.html#t:Pattern">Pattern</a>  </li><li>| <a href="#v:AmbiguousParseForLHS">AmbiguousParseForLHS</a> <a href="Agda-TypeChecking-Monad-Base.html#t:LHSOrPatSyn">LHSOrPatSyn</a> <a href="Agda-Syntax-Concrete.html#t:Pattern">Pattern</a> [<a href="Agda-Syntax-Concrete.html#t:Pattern">Pattern</a>]  </li><li>| <a href="#v:IFSNoCandidateInScope">IFSNoCandidateInScope</a> <a href="Agda-Syntax-Internal.html#t:Type">Type</a>  </li><li>| <a href="#v:SafeFlagPostulate">SafeFlagPostulate</a> <a href="Agda-Syntax-Concrete-Name.html#t:Name">Name</a>  </li><li>| <a href="#v:SafeFlagPragma">SafeFlagPragma</a> [<a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-String.html#t:String">String</a>]  </li><li>| <a href="#v:SafeFlagNoTerminationCheck">SafeFlagNoTerminationCheck</a>  </li><li>| <a href="#v:SafeFlagPrimTrustMe">SafeFlagPrimTrustMe</a>  </li><li>| <a href="#v:NeedOptionCopatterns">NeedOptionCopatterns</a>  </li></ul></li><li class="src short"><span class="keyword">data</span>  <a href="#t:LHSOrPatSyn">LHSOrPatSyn</a> <ul class="subs"><li>= <a href="#v:IsLHS">IsLHS</a>  </li><li>| <a href="#v:IsPatSyn">IsPatSyn</a>  </li></ul></li><li class="src short"><span class="keyword">data</span>  <a href="#t:TCErr">TCErr</a> <ul class="subs"><li>= <a href="#v:TypeError">TypeError</a> <a href="Agda-TypeChecking-Monad-Base.html#t:TCState">TCState</a> (<a href="Agda-TypeChecking-Monad-Base.html#t:Closure">Closure</a> <a href="Agda-TypeChecking-Monad-Base.html#t:TypeError">TypeError</a>)  </li><li>| <a href="#v:Exception">Exception</a> <a href="Agda-Syntax-Position.html#t:Range">Range</a> <a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-String.html#t:String">String</a>  </li><li>| <a href="#v:IOException">IOException</a> <a href="Agda-Syntax-Position.html#t:Range">Range</a> <a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Control-Exception-Base.html#t:IOException">IOException</a>  </li><li>| <a href="#v:PatternErr">PatternErr</a> <a href="Agda-TypeChecking-Monad-Base.html#t:TCState">TCState</a>  </li></ul></li><li class="src short"><span class="keyword">newtype</span>  <a href="#t:TCMT">TCMT</a> m a = <a href="#v:TCM">TCM</a> {<ul class="subs"><li><a href="#v:unTCM">unTCM</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-IORef.html#t:IORef">IORef</a> <a href="Agda-TypeChecking-Monad-Base.html#t:TCState">TCState</a> -&gt; <a href="Agda-TypeChecking-Monad-Base.html#t:TCEnv">TCEnv</a> -&gt; m a</li></ul>}</li><li class="src short"><span class="keyword">type</span> <a href="#t:TCM">TCM</a> = <a href="Agda-TypeChecking-Monad-Base.html#t:TCMT">TCMT</a> <a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/System-IO.html#t:IO">IO</a></li><li class="src short"><span class="keyword">class</span> (<a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Control-Applicative.html#t:Applicative">Applicative</a> tcm, <a href="/usr/share/doc/ghc/html/libraries/transformers-0.3.0.0/Control-Monad-IO-Class.html#t:MonadIO">MonadIO</a> tcm, <a href="/usr/share/doc/ghc/html/libraries/mtl-2.1.2/Control-Monad-Reader-Class.html#t:MonadReader">MonadReader</a> <a href="Agda-TypeChecking-Monad-Base.html#t:TCEnv">TCEnv</a> tcm, <a href="/usr/share/doc/ghc/html/libraries/mtl-2.1.2/Control-Monad-State-Class.html#t:MonadState">MonadState</a> <a href="Agda-TypeChecking-Monad-Base.html#t:TCState">TCState</a> tcm) =&gt; <a href="#t:MonadTCM">MonadTCM</a> tcm  <span class="keyword">where</span><ul class="subs"><li><a href="#v:liftTCM">liftTCM</a> ::  <a href="Agda-TypeChecking-Monad-Base.html#t:TCM">TCM</a> a -&gt; tcm a</li></ul></li><li class="src short"><a href="#v:catchError_">catchError_</a> ::  <a href="Agda-TypeChecking-Monad-Base.html#t:TCM">TCM</a> a -&gt; (<a href="Agda-TypeChecking-Monad-Base.html#t:TCErr">TCErr</a> -&gt; <a href="Agda-TypeChecking-Monad-Base.html#t:TCM">TCM</a> a) -&gt; <a href="Agda-TypeChecking-Monad-Base.html#t:TCM">TCM</a> a</li><li class="src short"><a href="#v:mapTCMT">mapTCMT</a> ::  (<span class="keyword">forall</span> a.  m a -&gt; n a) -&gt; <a href="Agda-TypeChecking-Monad-Base.html#t:TCMT">TCMT</a> m a -&gt; <a href="Agda-TypeChecking-Monad-Base.html#t:TCMT">TCMT</a> n a</li><li class="src short"><a href="#v:pureTCM">pureTCM</a> :: <a href="/usr/share/doc/ghc/html/libraries/transformers-0.3.0.0/Control-Monad-IO-Class.html#t:MonadIO">MonadIO</a> m =&gt; (<a href="Agda-TypeChecking-Monad-Base.html#t:TCState">TCState</a> -&gt; <a href="Agda-TypeChecking-Monad-Base.html#t:TCEnv">TCEnv</a> -&gt; a) -&gt; <a href="Agda-TypeChecking-Monad-Base.html#t:TCMT">TCMT</a> m a</li><li class="src short"><a href="#v:returnTCMT">returnTCMT</a> :: <a href="/usr/share/doc/ghc/html/libraries/transformers-0.3.0.0/Control-Monad-IO-Class.html#t:MonadIO">MonadIO</a> m =&gt; a -&gt; <a href="Agda-TypeChecking-Monad-Base.html#t:TCMT">TCMT</a> m a</li><li class="src short"><a href="#v:bindTCMT">bindTCMT</a> :: <a href="/usr/share/doc/ghc/html/libraries/transformers-0.3.0.0/Control-Monad-IO-Class.html#t:MonadIO">MonadIO</a> m =&gt; <a href="Agda-TypeChecking-Monad-Base.html#t:TCMT">TCMT</a> m a -&gt; (a -&gt; <a href="Agda-TypeChecking-Monad-Base.html#t:TCMT">TCMT</a> m b) -&gt; <a href="Agda-TypeChecking-Monad-Base.html#t:TCMT">TCMT</a> m b</li><li class="src short"><a href="#v:thenTCMT">thenTCMT</a> :: <a href="/usr/share/doc/ghc/html/libraries/transformers-0.3.0.0/Control-Monad-IO-Class.html#t:MonadIO">MonadIO</a> m =&gt; <a href="Agda-TypeChecking-Monad-Base.html#t:TCMT">TCMT</a> m a -&gt; <a href="Agda-TypeChecking-Monad-Base.html#t:TCMT">TCMT</a> m b -&gt; <a href="Agda-TypeChecking-Monad-Base.html#t:TCMT">TCMT</a> m b</li><li class="src short"><a href="#v:fmapTCMT">fmapTCMT</a> :: <a href="/usr/share/doc/ghc/html/libraries/transformers-0.3.0.0/Control-Monad-IO-Class.html#t:MonadIO">MonadIO</a> m =&gt; (a -&gt; b) -&gt; <a href="Agda-TypeChecking-Monad-Base.html#t:TCMT">TCMT</a> m a -&gt; <a href="Agda-TypeChecking-Monad-Base.html#t:TCMT">TCMT</a> m b</li><li class="src short"><a href="#v:apTCMT">apTCMT</a> :: <a href="/usr/share/doc/ghc/html/libraries/transformers-0.3.0.0/Control-Monad-IO-Class.html#t:MonadIO">MonadIO</a> m =&gt; <a href="Agda-TypeChecking-Monad-Base.html#t:TCMT">TCMT</a> m (a -&gt; b) -&gt; <a href="Agda-TypeChecking-Monad-Base.html#t:TCMT">TCMT</a> m a -&gt; <a href="Agda-TypeChecking-Monad-Base.html#t:TCMT">TCMT</a> m b</li><li class="src short"><a href="#v:patternViolation">patternViolation</a> ::  <a href="Agda-TypeChecking-Monad-Base.html#t:TCM">TCM</a> a</li><li class="src short"><a href="#v:internalError">internalError</a> :: <a href="Agda-TypeChecking-Monad-Base.html#t:MonadTCM">MonadTCM</a> tcm =&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-String.html#t:String">String</a> -&gt; tcm a</li><li class="src short"><a href="#v:typeError">typeError</a> :: <a href="Agda-TypeChecking-Monad-Base.html#t:MonadTCM">MonadTCM</a> tcm =&gt; <a href="Agda-TypeChecking-Monad-Base.html#t:TypeError">TypeError</a> -&gt; tcm a</li><li class="src short"><a href="#v:runTCM">runTCM</a> ::  <a href="Agda-TypeChecking-Monad-Base.html#t:TCMT">TCMT</a> <a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/System-IO.html#t:IO">IO</a> a -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/System-IO.html#t:IO">IO</a> (<a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Either.html#t:Either">Either</a> <a href="Agda-TypeChecking-Monad-Base.html#t:TCErr">TCErr</a> a)</li><li class="src short"><a href="#v:runTCM-39-">runTCM'</a> :: <a href="/usr/share/doc/ghc/html/libraries/transformers-0.3.0.0/Control-Monad-IO-Class.html#t:MonadIO">MonadIO</a> m =&gt; <a href="Agda-TypeChecking-Monad-Base.html#t:TCMT">TCMT</a> m a -&gt; m a</li><li class="src short"><a href="#v:forkTCM">forkTCM</a> ::  <a href="Agda-TypeChecking-Monad-Base.html#t:TCM">TCM</a> a -&gt; <a href="Agda-TypeChecking-Monad-Base.html#t:TCM">TCM</a> <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Tuple.html#t:-40--41-">()</a></li><li class="src short"><a href="#v:extendlambdaname">extendlambdaname</a> :: [<a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Char.html#t:Char">Char</a>]</li></ul></div><div id="interface"><h1 id="g:1">Type checking state
</h1><div class="top"><p class="src"><span class="keyword">data</span>  <a name="t:TCState" class="def">TCState</a>  <a href="src/Agda-TypeChecking-Monad-Base.html#TCState" class="link">Source</a></p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:TCSt" class="def">TCSt</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:stFreshThings" class="def">stFreshThings</a> :: <a href="Agda-TypeChecking-Monad-Base.html#t:FreshThings">FreshThings</a></dt><dd class="doc empty">&nbsp;</dd><dt class="src"><a name="v:stSyntaxInfo" class="def">stSyntaxInfo</a> :: <a href="Agda-Interaction-Highlighting-Precise.html#t:CompressedFile">CompressedFile</a></dt><dd class="doc"><p>Highlighting info.
</p></dd><dt class="src"><a name="v:stTokens" class="def">stTokens</a> :: <a href="Agda-Interaction-Highlighting-Precise.html#t:CompressedFile">CompressedFile</a></dt><dd class="doc"><p>Highlighting info for tokens (but not those tokens for
 which highlighting exists in <code><a href="Agda-TypeChecking-Monad-Base.html#v:stSyntaxInfo">stSyntaxInfo</a></code>).
</p></dd><dt class="src"><a name="v:stTermErrs" class="def">stTermErrs</a> :: <a href="/usr/share/doc/ghc/html/libraries/containers-0.4.2.1/Data-Sequence.html#t:Seq">Seq</a> <a href="Agda-TypeChecking-Monad-Base.html#t:TerminationError">TerminationError</a></dt><dd class="doc empty">&nbsp;</dd><dt class="src"><a name="v:stMetaStore" class="def">stMetaStore</a> :: <a href="Agda-TypeChecking-Monad-Base.html#t:MetaStore">MetaStore</a></dt><dd class="doc empty">&nbsp;</dd><dt class="src"><a name="v:stInteractionPoints" class="def">stInteractionPoints</a> :: <a href="Agda-TypeChecking-Monad-Base.html#t:InteractionPoints">InteractionPoints</a></dt><dd class="doc empty">&nbsp;</dd><dt class="src"><a name="v:stAwakeConstraints" class="def">stAwakeConstraints</a> :: <a href="Agda-TypeChecking-Monad-Base.html#t:Constraints">Constraints</a></dt><dd class="doc empty">&nbsp;</dd><dt class="src"><a name="v:stSleepingConstraints" class="def">stSleepingConstraints</a> :: <a href="Agda-TypeChecking-Monad-Base.html#t:Constraints">Constraints</a></dt><dd class="doc empty">&nbsp;</dd><dt class="src"><a name="v:stDirty" class="def">stDirty</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></dt><dd class="doc empty">&nbsp;</dd><dt class="src"><a name="v:stOccursCheckDefs" class="def">stOccursCheckDefs</a> :: <a href="/usr/share/doc/ghc/html/libraries/containers-0.4.2.1/Data-Set.html#t:Set">Set</a> <a href="Agda-Syntax-Abstract-Name.html#t:QName">QName</a></dt><dd class="doc"><p>Definitions to be considered during occurs check.
   Initialized to the current mutual block before the check.
</p></dd><dt class="src"><a name="v:stSignature" class="def">stSignature</a> :: <a href="Agda-TypeChecking-Monad-Base.html#t:Signature">Signature</a></dt><dd class="doc empty">&nbsp;</dd><dt class="src"><a name="v:stImports" class="def">stImports</a> :: <a href="Agda-TypeChecking-Monad-Base.html#t:Signature">Signature</a></dt><dd class="doc empty">&nbsp;</dd><dt class="src"><a name="v:stImportedModules" class="def">stImportedModules</a> :: <a href="/usr/share/doc/ghc/html/libraries/containers-0.4.2.1/Data-Set.html#t:Set">Set</a> <a href="Agda-Syntax-Abstract-Name.html#t:ModuleName">ModuleName</a></dt><dd class="doc empty">&nbsp;</dd><dt class="src"><a name="v:stModuleToSource" class="def">stModuleToSource</a> :: <a href="Agda-Interaction-FindFile.html#t:ModuleToSource">ModuleToSource</a></dt><dd class="doc empty">&nbsp;</dd><dt class="src"><a name="v:stVisitedModules" class="def">stVisitedModules</a> :: <a href="Agda-TypeChecking-Monad-Base.html#t:VisitedModules">VisitedModules</a></dt><dd class="doc empty">&nbsp;</dd><dt class="src"><a name="v:stCurrentModule" class="def">stCurrentModule</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Agda-Syntax-Abstract-Name.html#t:ModuleName">ModuleName</a></dt><dd class="doc"><p>The current module is available after it has been type
 checked.
</p></dd><dt class="src"><a name="v:stScope" class="def">stScope</a> :: <a href="Agda-Syntax-Scope-Base.html#t:ScopeInfo">ScopeInfo</a></dt><dd class="doc empty">&nbsp;</dd><dt class="src"><a name="v:stPatternSyns" class="def">stPatternSyns</a> :: <a href="Agda-Syntax-Abstract.html#t:PatternSynDefns">PatternSynDefns</a></dt><dd class="doc empty">&nbsp;</dd><dt class="src"><a name="v:stPatternSynImports" class="def">stPatternSynImports</a> :: <a href="Agda-Syntax-Abstract.html#t:PatternSynDefns">PatternSynDefns</a></dt><dd class="doc empty">&nbsp;</dd><dt class="src"><a name="v:stPragmaOptions" class="def">stPragmaOptions</a> :: <a href="Agda-Interaction-Options.html#t:PragmaOptions">PragmaOptions</a></dt><dd class="doc"><p>Options applying to the current file. <code>OPTIONS</code>
 pragmas only affect this field.
</p></dd><dt class="src"><a name="v:stStatistics" class="def">stStatistics</a> :: <a href="Agda-TypeChecking-Monad-Base.html#t:Statistics">Statistics</a></dt><dd class="doc empty">&nbsp;</dd><dt class="src"><a name="v:stExtLambdaTele" class="def">stExtLambdaTele</a> :: <a href="/usr/share/doc/ghc/html/libraries/containers-0.4.2.1/Data-Map.html#t:Map">Map</a> <a href="Agda-Syntax-Abstract-Name.html#t:QName">QName</a> (<a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Int.html#t:Int">Int</a>, <a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Int.html#t:Int">Int</a>)</dt><dd class="doc empty">&nbsp;</dd><dt class="src"><a name="v:stMutualBlocks" class="def">stMutualBlocks</a> :: <a href="/usr/share/doc/ghc/html/libraries/containers-0.4.2.1/Data-Map.html#t:Map">Map</a> <a href="Agda-TypeChecking-Monad-Base.html#t:MutualId">MutualId</a> (<a href="/usr/share/doc/ghc/html/libraries/containers-0.4.2.1/Data-Set.html#t:Set">Set</a> <a href="Agda-Syntax-Abstract-Name.html#t:QName">QName</a>)</dt><dd class="doc empty">&nbsp;</dd><dt class="src"><a name="v:stLocalBuiltins" class="def">stLocalBuiltins</a> :: <a href="Agda-TypeChecking-Monad-Base.html#t:BuiltinThings">BuiltinThings</a> <a href="Agda-TypeChecking-Monad-Base.html#t:PrimFun">PrimFun</a></dt><dd class="doc empty">&nbsp;</dd><dt class="src"><a name="v:stImportedBuiltins" class="def">stImportedBuiltins</a> :: <a href="Agda-TypeChecking-Monad-Base.html#t:BuiltinThings">BuiltinThings</a> <a href="Agda-TypeChecking-Monad-Base.html#t:PrimFun">PrimFun</a></dt><dd class="doc empty">&nbsp;</dd><dt class="src"><a name="v:stHaskellImports" class="def">stHaskellImports</a> :: <a href="/usr/share/doc/ghc/html/libraries/containers-0.4.2.1/Data-Set.html#t:Set">Set</a> <a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-String.html#t:String">String</a></dt><dd class="doc"><p>Imports that should be generated by the compiler (this
 includes imports from imported modules).
</p></dd><dt class="src"><a name="v:stPersistent" class="def">stPersistent</a> :: <a href="Agda-TypeChecking-Monad-Base.html#t:PersistentTCState">PersistentTCState</a></dt><dd class="doc empty">&nbsp;</dd><dt class="src"><a name="v:stInteractionOutputCallback" class="def">stInteractionOutputCallback</a> :: <a href="Agda-Interaction-Response.html#t:InteractionOutputCallback">InteractionOutputCallback</a></dt><dd class="doc"><p>Callback fuction to call when there is a response
   to give to the interactive frontend.
   See the documentation of <code><a href="Agda-Interaction-Response.html#t:InteractionOutputCallback">InteractionOutputCallback</a></code>.
</p></dd></dl><div class="clear"></div></div></td></tr></table></div><div class="subs instances"><p id="control.i:TCState" class="caption collapser" onclick="toggleSection('i:TCState')">Instances</p><div id="section.i:TCState" class="show"><table><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/mtl-2.1.2/Control-Monad-State-Class.html#t:MonadState">MonadState</a> <a href="Agda-TypeChecking-Monad-Base.html#t:TCState">TCState</a> RecPatM</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/mtl-2.1.2/Control-Monad-State-Class.html#t:MonadState">MonadState</a> <a href="Agda-TypeChecking-Monad-Base.html#t:TCState">TCState</a> <a href="Agda-TypeChecking-Rules-LHS-Unify.html#t:Unify">Unify</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Agda-Utils-Fresh.html#t:HasFresh">HasFresh</a> i <a href="Agda-TypeChecking-Monad-Base.html#t:FreshThings">FreshThings</a> =&gt; <a href="Agda-Utils-Fresh.html#t:HasFresh">HasFresh</a> i <a href="Agda-TypeChecking-Monad-Base.html#t:TCState">TCState</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/transformers-0.3.0.0/Control-Monad-IO-Class.html#t:MonadIO">MonadIO</a> m =&gt; <a href="/usr/share/doc/ghc/html/libraries/mtl-2.1.2/Control-Monad-State-Class.html#t:MonadState">MonadState</a> <a href="Agda-TypeChecking-Monad-Base.html#t:TCState">TCState</a> (<a href="Agda-TypeChecking-Monad-Base.html#t:TCMT">TCMT</a> m)</td><td class="doc empty">&nbsp;</td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">data</span>  <a name="t:PersistentTCState" class="def">PersistentTCState</a>  <a href="src/Agda-TypeChecking-Monad-Base.html#PersistentTCState" class="link">Source</a></p><div class="doc"><p>A part of the state which is not reverted when an error is thrown
 or the state is reset.
</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:PersistentTCSt" class="def">PersistentTCSt</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:stDecodedModules" class="def">stDecodedModules</a> :: <a href="Agda-TypeChecking-Monad-Base.html#t:DecodedModules">DecodedModules</a></dt><dd class="doc empty">&nbsp;</dd><dt class="src"><a name="v:stPersistentOptions" class="def">stPersistentOptions</a> :: <a href="Agda-Interaction-Options.html#t:CommandLineOptions">CommandLineOptions</a></dt><dd class="doc"><p>Options which apply to all files, unless overridden.
</p></dd></dl><div class="clear"></div></div></td></tr></table></div></div><div class="top"><p class="src"><span class="keyword">data</span>  <a name="t:FreshThings" class="def">FreshThings</a>  <a href="src/Agda-TypeChecking-Monad-Base.html#FreshThings" class="link">Source</a></p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:Fresh" class="def">Fresh</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:fMeta" class="def">fMeta</a> :: <a href="Agda-Syntax-Internal.html#t:MetaId">MetaId</a></dt><dd class="doc empty">&nbsp;</dd><dt class="src"><a name="v:fInteraction" class="def">fInteraction</a> :: <a href="Agda-TypeChecking-Monad-Base.html#t:InteractionId">InteractionId</a></dt><dd class="doc empty">&nbsp;</dd><dt class="src"><a name="v:fMutual" class="def">fMutual</a> :: <a href="Agda-TypeChecking-Monad-Base.html#t:MutualId">MutualId</a></dt><dd class="doc empty">&nbsp;</dd><dt class="src"><a name="v:fName" class="def">fName</a> :: <a href="Agda-Syntax-Common.html#t:NameId">NameId</a></dt><dd class="doc empty">&nbsp;</dd><dt class="src"><a name="v:fCtx" class="def">fCtx</a> :: <a href="Agda-TypeChecking-Monad-Base.html#t:CtxId">CtxId</a></dt><dd class="doc empty">&nbsp;</dd><dt class="src"><a name="v:fProblem" class="def">fProblem</a> :: <a href="Agda-TypeChecking-Monad-Base.html#t:ProblemId">ProblemId</a></dt><dd class="doc empty">&nbsp;</dd><dt class="src"><a name="v:fInt" class="def">fInt</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Int.html#t:Int">Int</a></dt><dd class="doc"><p>Can be used for various things.
</p></dd></dl><div class="clear"></div></div></td></tr></table></div><div class="subs instances"><p id="control.i:FreshThings" class="caption collapser" onclick="toggleSection('i:FreshThings')">Instances</p><div id="section.i:FreshThings" class="show"><table><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Text-Show.html#t:Show">Show</a> <a href="Agda-TypeChecking-Monad-Base.html#t:FreshThings">FreshThings</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Agda-Utils-Fresh.html#t:HasFresh">HasFresh</a> <a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Int.html#t:Int">Int</a> <a href="Agda-TypeChecking-Monad-Base.html#t:FreshThings">FreshThings</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Agda-Utils-Fresh.html#t:HasFresh">HasFresh</a> <a href="Agda-Syntax-Common.html#t:NameId">NameId</a> <a href="Agda-TypeChecking-Monad-Base.html#t:FreshThings">FreshThings</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Agda-Utils-Fresh.html#t:HasFresh">HasFresh</a> <a href="Agda-Syntax-Internal.html#t:MetaId">MetaId</a> <a href="Agda-TypeChecking-Monad-Base.html#t:FreshThings">FreshThings</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Agda-Utils-Fresh.html#t:HasFresh">HasFresh</a> <a href="Agda-TypeChecking-Monad-Base.html#t:CtxId">CtxId</a> <a href="Agda-TypeChecking-Monad-Base.html#t:FreshThings">FreshThings</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Agda-Utils-Fresh.html#t:HasFresh">HasFresh</a> <a href="Agda-TypeChecking-Monad-Base.html#t:MutualId">MutualId</a> <a href="Agda-TypeChecking-Monad-Base.html#t:FreshThings">FreshThings</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Agda-Utils-Fresh.html#t:HasFresh">HasFresh</a> <a href="Agda-TypeChecking-Monad-Base.html#t:InteractionId">InteractionId</a> <a href="Agda-TypeChecking-Monad-Base.html#t:FreshThings">FreshThings</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Agda-Utils-Fresh.html#t:HasFresh">HasFresh</a> <a href="Agda-TypeChecking-Monad-Base.html#t:ProblemId">ProblemId</a> <a href="Agda-TypeChecking-Monad-Base.html#t:FreshThings">FreshThings</a></td><td class="doc empty">&nbsp;</td></tr></table></div></div></div><div class="top"><p class="src"><a name="v:initState" class="def">initState</a> :: <a href="Agda-TypeChecking-Monad-Base.html#t:TCState">TCState</a><a href="src/Agda-TypeChecking-Monad-Base.html#initState" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:stBuiltinThings" class="def">stBuiltinThings</a> :: <a href="Agda-TypeChecking-Monad-Base.html#t:TCState">TCState</a> -&gt; <a href="Agda-TypeChecking-Monad-Base.html#t:BuiltinThings">BuiltinThings</a> <a href="Agda-TypeChecking-Monad-Base.html#t:PrimFun">PrimFun</a><a href="src/Agda-TypeChecking-Monad-Base.html#stBuiltinThings" class="link">Source</a></p></div><div class="top"><p class="src"><span class="keyword">newtype</span>  <a name="t:ProblemId" class="def">ProblemId</a>  <a href="src/Agda-TypeChecking-Monad-Base.html#ProblemId" class="link">Source</a></p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:ProblemId" class="def">ProblemId</a> <a href="Agda-Syntax-Common.html#t:Nat">Nat</a></td><td class="doc empty">&nbsp;</td></tr></table></div><div class="subs instances"><p id="control.i:ProblemId" class="caption collapser" onclick="toggleSection('i:ProblemId')">Instances</p><div id="section.i:ProblemId" class="show"><table><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Prelude.html#t:Enum">Enum</a> <a href="Agda-TypeChecking-Monad-Base.html#t:ProblemId">ProblemId</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Eq.html#t:Eq">Eq</a> <a href="Agda-TypeChecking-Monad-Base.html#t:ProblemId">ProblemId</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Prelude.html#t:Integral">Integral</a> <a href="Agda-TypeChecking-Monad-Base.html#t:ProblemId">ProblemId</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Prelude.html#t:Num">Num</a> <a href="Agda-TypeChecking-Monad-Base.html#t:ProblemId">ProblemId</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Ord.html#t:Ord">Ord</a> <a href="Agda-TypeChecking-Monad-Base.html#t:ProblemId">ProblemId</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Prelude.html#t:Real">Real</a> <a href="Agda-TypeChecking-Monad-Base.html#t:ProblemId">ProblemId</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Text-Show.html#t:Show">Show</a> <a href="Agda-TypeChecking-Monad-Base.html#t:ProblemId">ProblemId</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Typeable-Internal.html#t:Typeable">Typeable</a> <a href="Agda-TypeChecking-Monad-Base.html#t:ProblemId">ProblemId</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Agda-Utils-Fresh.html#t:HasFresh">HasFresh</a> <a href="Agda-TypeChecking-Monad-Base.html#t:ProblemId">ProblemId</a> <a href="Agda-TypeChecking-Monad-Base.html#t:FreshThings">FreshThings</a></td><td class="doc empty">&nbsp;</td></tr></table></div></div></div><h2 id="g:2">Interface
</h2><div class="top"><p class="src"><span class="keyword">data</span>  <a name="t:ModuleInfo" class="def">ModuleInfo</a>  <a href="src/Agda-TypeChecking-Monad-Base.html#ModuleInfo" class="link">Source</a></p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:ModuleInfo" class="def">ModuleInfo</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:miInterface" class="def">miInterface</a> :: <a href="Agda-TypeChecking-Monad-Base.html#t:Interface">Interface</a></dt><dd class="doc empty">&nbsp;</dd><dt class="src"><a name="v:miWarnings" class="def">miWarnings</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></dt><dd class="doc"><p><code><a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Bool.html#v:True">True</a></code> if warnings were encountered when the module was type
 checked.
</p></dd><dt class="src"><a name="v:miTimeStamp" class="def">miTimeStamp</a> :: <a href="Agda-Utils-Time.html#t:ClockTime">ClockTime</a></dt><dd class="doc"><p>The modification time stamp of the interface file when the
 interface was read or written. Alternatively, if warnings were
 encountered (in which case there may not be any up-to-date
 interface file), the time at which the interface was produced
 (approximately).
</p></dd></dl><div class="clear"></div></div></td></tr></table></div></div><div class="top"><p class="src"><span class="keyword">type</span> <a name="t:VisitedModules" class="def">VisitedModules</a> = <a href="/usr/share/doc/ghc/html/libraries/containers-0.4.2.1/Data-Map.html#t:Map">Map</a> <a href="Agda-Syntax-Concrete-Name.html#t:TopLevelModuleName">TopLevelModuleName</a> <a href="Agda-TypeChecking-Monad-Base.html#t:ModuleInfo">ModuleInfo</a><a href="src/Agda-TypeChecking-Monad-Base.html#VisitedModules" class="link">Source</a></p></div><div class="top"><p class="src"><span class="keyword">type</span> <a name="t:DecodedModules" class="def">DecodedModules</a> = <a href="/usr/share/doc/ghc/html/libraries/containers-0.4.2.1/Data-Map.html#t:Map">Map</a> <a href="Agda-Syntax-Concrete-Name.html#t:TopLevelModuleName">TopLevelModuleName</a> (<a href="Agda-TypeChecking-Monad-Base.html#t:Interface">Interface</a>, <a href="Agda-Utils-Time.html#t:ClockTime">ClockTime</a>)<a href="src/Agda-TypeChecking-Monad-Base.html#DecodedModules" class="link">Source</a></p></div><div class="top"><p class="src"><span class="keyword">data</span>  <a name="t:Interface" class="def">Interface</a>  <a href="src/Agda-TypeChecking-Monad-Base.html#Interface" class="link">Source</a></p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:Interface" class="def">Interface</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:iImportedModules" class="def">iImportedModules</a> :: [<a href="Agda-Syntax-Abstract-Name.html#t:ModuleName">ModuleName</a>]</dt><dd class="doc empty">&nbsp;</dd><dt class="src"><a name="v:iModuleName" class="def">iModuleName</a> :: <a href="Agda-Syntax-Abstract-Name.html#t:ModuleName">ModuleName</a></dt><dd class="doc empty">&nbsp;</dd><dt class="src"><a name="v:iScope" class="def">iScope</a> :: <a href="/usr/share/doc/ghc/html/libraries/containers-0.4.2.1/Data-Map.html#t:Map">Map</a> <a href="Agda-Syntax-Abstract-Name.html#t:ModuleName">ModuleName</a> <a href="Agda-Syntax-Scope-Base.html#t:Scope">Scope</a></dt><dd class="doc empty">&nbsp;</dd><dt class="src"><a name="v:iInsideScope" class="def">iInsideScope</a> :: <a href="Agda-Syntax-Scope-Base.html#t:ScopeInfo">ScopeInfo</a></dt><dd class="doc empty">&nbsp;</dd><dt class="src"><a name="v:iSignature" class="def">iSignature</a> :: <a href="Agda-TypeChecking-Monad-Base.html#t:Signature">Signature</a></dt><dd class="doc empty">&nbsp;</dd><dt class="src"><a name="v:iBuiltin" class="def">iBuiltin</a> :: <a href="Agda-TypeChecking-Monad-Base.html#t:BuiltinThings">BuiltinThings</a> (<a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-String.html#t:String">String</a>, <a href="Agda-Syntax-Abstract-Name.html#t:QName">QName</a>)</dt><dd class="doc empty">&nbsp;</dd><dt class="src"><a name="v:iHaskellImports" class="def">iHaskellImports</a> :: <a href="/usr/share/doc/ghc/html/libraries/containers-0.4.2.1/Data-Set.html#t:Set">Set</a> <a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-String.html#t:String">String</a></dt><dd class="doc"><p>Haskell imports listed in
 (transitively) imported modules are
 not included here.
</p></dd><dt class="src"><a name="v:iHighlighting" class="def">iHighlighting</a> :: <a href="Agda-Interaction-Highlighting-Precise.html#t:HighlightingInfo">HighlightingInfo</a></dt><dd class="doc empty">&nbsp;</dd><dt class="src"><a name="v:iPragmaOptions" class="def">iPragmaOptions</a> :: [<a href="Agda-Interaction-Options.html#t:OptionsPragma">OptionsPragma</a>]</dt><dd class="doc"><p>Pragma options set in the file.
</p></dd><dt class="src"><a name="v:iPatternSyns" class="def">iPatternSyns</a> :: <a href="Agda-Syntax-Abstract.html#t:PatternSynDefns">PatternSynDefns</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:Interface" class="caption collapser" onclick="toggleSection('i:Interface')">Instances</p><div id="section.i:Interface" class="show"><table><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Text-Show.html#t:Show">Show</a> <a href="Agda-TypeChecking-Monad-Base.html#t:Interface">Interface</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Typeable-Internal.html#t:Typeable">Typeable</a> <a href="Agda-TypeChecking-Monad-Base.html#t:Interface">Interface</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Agda-TypeChecking-Reduce.html#t:InstantiateFull">InstantiateFull</a> <a href="Agda-TypeChecking-Monad-Base.html#t:Interface">Interface</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Agda-TypeChecking-Serialise.html#t:EmbPrj">EmbPrj</a> <a href="Agda-TypeChecking-Monad-Base.html#t:Interface">Interface</a></td><td class="doc empty">&nbsp;</td></tr></table></div></div></div><h2 id="g:3">Closure
</h2><div class="top"><p class="src"><span class="keyword">data</span>  <a name="t:Closure" class="def">Closure</a> a <a href="src/Agda-TypeChecking-Monad-Base.html#Closure" class="link">Source</a></p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:Closure" class="def">Closure</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:clSignature" class="def">clSignature</a> :: <a href="Agda-TypeChecking-Monad-Base.html#t:Signature">Signature</a></dt><dd class="doc empty">&nbsp;</dd><dt class="src"><a name="v:clEnv" class="def">clEnv</a> :: <a href="Agda-TypeChecking-Monad-Base.html#t:TCEnv">TCEnv</a></dt><dd class="doc empty">&nbsp;</dd><dt class="src"><a name="v:clScope" class="def">clScope</a> :: <a href="Agda-Syntax-Scope-Base.html#t:ScopeInfo">ScopeInfo</a></dt><dd class="doc empty">&nbsp;</dd><dt class="src"><a name="v:clValue" class="def">clValue</a> :: 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:Closure" class="caption collapser" onclick="toggleSection('i:Closure')">Instances</p><div id="section.i:Closure" class="show"><table><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Typeable-Internal.html#t:Typeable1">Typeable1</a> <a href="Agda-TypeChecking-Monad-Base.html#t:Closure">Closure</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Agda-Syntax-Translation-InternalToAbstract.html#t:Reify">Reify</a> <a href="Agda-TypeChecking-Monad-Base.html#t:ProblemConstraint">ProblemConstraint</a> (<a href="Agda-TypeChecking-Monad-Base.html#t:Closure">Closure</a> (<a href="Agda-Interaction-BasicOps.html#t:OutputForm">OutputForm</a> <a href="Agda-Syntax-Abstract.html#t:Expr">Expr</a> <a href="Agda-Syntax-Abstract.html#t:Expr">Expr</a>))</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Text-Show.html#t:Show">Show</a> a =&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Text-Show.html#t:Show">Show</a> (<a href="Agda-TypeChecking-Monad-Base.html#t:Closure">Closure</a> a)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Agda-Syntax-Position.html#t:HasRange">HasRange</a> a =&gt; <a href="Agda-Syntax-Position.html#t:HasRange">HasRange</a> (<a href="Agda-TypeChecking-Monad-Base.html#t:Closure">Closure</a> a)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Agda-TypeChecking-Pretty.html#t:PrettyTCM">PrettyTCM</a> a =&gt; <a href="Agda-TypeChecking-Pretty.html#t:PrettyTCM">PrettyTCM</a> (<a href="Agda-TypeChecking-Monad-Base.html#t:Closure">Closure</a> a)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Agda-TypeChecking-Reduce.html#t:InstantiateFull">InstantiateFull</a> a =&gt; <a href="Agda-TypeChecking-Reduce.html#t:InstantiateFull">InstantiateFull</a> (<a href="Agda-TypeChecking-Monad-Base.html#t:Closure">Closure</a> a)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Agda-TypeChecking-Reduce.html#t:Normalise">Normalise</a> a =&gt; <a href="Agda-TypeChecking-Reduce.html#t:Normalise">Normalise</a> (<a href="Agda-TypeChecking-Monad-Base.html#t:Closure">Closure</a> a)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Agda-TypeChecking-Reduce.html#t:Reduce">Reduce</a> a =&gt; <a href="Agda-TypeChecking-Reduce.html#t:Reduce">Reduce</a> (<a href="Agda-TypeChecking-Monad-Base.html#t:Closure">Closure</a> a)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Agda-TypeChecking-Reduce.html#t:Instantiate">Instantiate</a> a =&gt; <a href="Agda-TypeChecking-Reduce.html#t:Instantiate">Instantiate</a> (<a href="Agda-TypeChecking-Monad-Base.html#t:Closure">Closure</a> a)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Agda-TypeChecking-MetaVars-Mention.html#t:MentionsMeta">MentionsMeta</a> a =&gt; <a href="Agda-TypeChecking-MetaVars-Mention.html#t:MentionsMeta">MentionsMeta</a> (<a href="Agda-TypeChecking-Monad-Base.html#t:Closure">Closure</a> a)</td><td class="doc empty">&nbsp;</td></tr></table></div></div></div><div class="top"><p class="src"><a name="v:buildClosure" class="def">buildClosure</a> ::  a -&gt; <a href="Agda-TypeChecking-Monad-Base.html#t:TCM">TCM</a> (<a href="Agda-TypeChecking-Monad-Base.html#t:Closure">Closure</a> a)<a href="src/Agda-TypeChecking-Monad-Base.html#buildClosure" class="link">Source</a></p></div><h2 id="g:4">Constraints
</h2><div class="top"><p class="src"><span class="keyword">type</span> <a name="t:Constraints" class="def">Constraints</a> = [<a href="Agda-TypeChecking-Monad-Base.html#t:ProblemConstraint">ProblemConstraint</a>]<a href="src/Agda-TypeChecking-Monad-Base.html#Constraints" class="link">Source</a></p></div><div class="top"><p class="src"><span class="keyword">data</span>  <a name="t:ProblemConstraint" class="def">ProblemConstraint</a>  <a href="src/Agda-TypeChecking-Monad-Base.html#ProblemConstraint" class="link">Source</a></p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:PConstr" class="def">PConstr</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:constraintProblem" class="def">constraintProblem</a> :: <a href="Agda-TypeChecking-Monad-Base.html#t:ProblemId">ProblemId</a></dt><dd class="doc empty">&nbsp;</dd><dt class="src"><a name="v:theConstraint" class="def">theConstraint</a> :: <a href="Agda-TypeChecking-Monad-Base.html#t:Closure">Closure</a> <a href="Agda-TypeChecking-Monad-Base.html#t:Constraint">Constraint</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:ProblemConstraint" class="caption collapser" onclick="toggleSection('i:ProblemConstraint')">Instances</p><div id="section.i:ProblemConstraint" class="show"><table><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Text-Show.html#t:Show">Show</a> <a href="Agda-TypeChecking-Monad-Base.html#t:ProblemConstraint">ProblemConstraint</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Typeable-Internal.html#t:Typeable">Typeable</a> <a href="Agda-TypeChecking-Monad-Base.html#t:ProblemConstraint">ProblemConstraint</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Agda-TypeChecking-Pretty.html#t:PrettyTCM">PrettyTCM</a> <a href="Agda-TypeChecking-Monad-Base.html#t:ProblemConstraint">ProblemConstraint</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Agda-TypeChecking-Reduce.html#t:InstantiateFull">InstantiateFull</a> <a href="Agda-TypeChecking-Monad-Base.html#t:ProblemConstraint">ProblemConstraint</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Agda-TypeChecking-Reduce.html#t:Normalise">Normalise</a> <a href="Agda-TypeChecking-Monad-Base.html#t:ProblemConstraint">ProblemConstraint</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Agda-TypeChecking-MetaVars-Mention.html#t:MentionsMeta">MentionsMeta</a> <a href="Agda-TypeChecking-Monad-Base.html#t:ProblemConstraint">ProblemConstraint</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Agda-Syntax-Translation-InternalToAbstract.html#t:Reify">Reify</a> <a href="Agda-TypeChecking-Monad-Base.html#t:ProblemConstraint">ProblemConstraint</a> (<a href="Agda-TypeChecking-Monad-Base.html#t:Closure">Closure</a> (<a href="Agda-Interaction-BasicOps.html#t:OutputForm">OutputForm</a> <a href="Agda-Syntax-Abstract.html#t:Expr">Expr</a> <a href="Agda-Syntax-Abstract.html#t:Expr">Expr</a>))</td><td class="doc empty">&nbsp;</td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">data</span>  <a name="t:Constraint" class="def">Constraint</a>  <a href="src/Agda-TypeChecking-Monad-Base.html#Constraint" class="link">Source</a></p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:ValueCmp" class="def">ValueCmp</a> <a href="Agda-TypeChecking-Monad-Base.html#t:Comparison">Comparison</a> <a href="Agda-Syntax-Internal.html#t:Type">Type</a> <a href="Agda-Syntax-Internal.html#t:Term">Term</a> <a href="Agda-Syntax-Internal.html#t:Term">Term</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:ElimCmp" class="def">ElimCmp</a> [<a href="Agda-TypeChecking-Monad-Base.html#t:Polarity">Polarity</a>] <a href="Agda-Syntax-Internal.html#t:Type">Type</a> <a href="Agda-Syntax-Internal.html#t:Term">Term</a> [<a href="Agda-Syntax-Internal.html#t:Elim">Elim</a>] [<a href="Agda-Syntax-Internal.html#t:Elim">Elim</a>]</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:TypeCmp" class="def">TypeCmp</a> <a href="Agda-TypeChecking-Monad-Base.html#t:Comparison">Comparison</a> <a href="Agda-Syntax-Internal.html#t:Type">Type</a> <a href="Agda-Syntax-Internal.html#t:Type">Type</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:TelCmp" class="def">TelCmp</a> <a href="Agda-Syntax-Internal.html#t:Type">Type</a> <a href="Agda-Syntax-Internal.html#t:Type">Type</a> <a href="Agda-TypeChecking-Monad-Base.html#t:Comparison">Comparison</a> <a href="Agda-Syntax-Internal.html#t:Telescope">Telescope</a> <a href="Agda-Syntax-Internal.html#t:Telescope">Telescope</a></td><td class="doc"><p>the two types are for the error message only
</p></td></tr><tr><td class="src"><a name="v:SortCmp" class="def">SortCmp</a> <a href="Agda-TypeChecking-Monad-Base.html#t:Comparison">Comparison</a> <a href="Agda-Syntax-Internal.html#t:Sort">Sort</a> <a href="Agda-Syntax-Internal.html#t:Sort">Sort</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:LevelCmp" class="def">LevelCmp</a> <a href="Agda-TypeChecking-Monad-Base.html#t:Comparison">Comparison</a> <a href="Agda-Syntax-Internal.html#t:Level">Level</a> <a href="Agda-Syntax-Internal.html#t:Level">Level</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:UnBlock" class="def">UnBlock</a> <a href="Agda-Syntax-Internal.html#t:MetaId">MetaId</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:Guarded" class="def">Guarded</a> <a href="Agda-TypeChecking-Monad-Base.html#t:Constraint">Constraint</a> <a href="Agda-TypeChecking-Monad-Base.html#t:ProblemId">ProblemId</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:IsEmpty" class="def">IsEmpty</a> <a href="Agda-Syntax-Position.html#t:Range">Range</a> <a href="Agda-Syntax-Internal.html#t:Type">Type</a></td><td class="doc"><p>the range is the one of the absurd pattern
</p></td></tr><tr><td class="src"><a name="v:FindInScope" class="def">FindInScope</a> <a href="Agda-Syntax-Internal.html#t:MetaId">MetaId</a> [(<a href="Agda-Syntax-Internal.html#t:Term">Term</a>, <a href="Agda-Syntax-Internal.html#t:Type">Type</a>)]</td><td class="doc empty">&nbsp;</td></tr></table></div><div class="subs instances"><p id="control.i:Constraint" class="caption collapser" onclick="toggleSection('i:Constraint')">Instances</p><div id="section.i:Constraint" class="show"><table><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Eq.html#t:Eq">Eq</a> <a href="Agda-TypeChecking-Monad-Base.html#t:Constraint">Constraint</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Text-Show.html#t:Show">Show</a> <a href="Agda-TypeChecking-Monad-Base.html#t:Constraint">Constraint</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Typeable-Internal.html#t:Typeable">Typeable</a> <a href="Agda-TypeChecking-Monad-Base.html#t:Constraint">Constraint</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Agda-TypeChecking-Substitute.html#t:Subst">Subst</a> <a href="Agda-TypeChecking-Monad-Base.html#t:Constraint">Constraint</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Agda-TypeChecking-Pretty.html#t:PrettyTCM">PrettyTCM</a> <a href="Agda-TypeChecking-Monad-Base.html#t:Constraint">Constraint</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Agda-TypeChecking-Reduce.html#t:InstantiateFull">InstantiateFull</a> <a href="Agda-TypeChecking-Monad-Base.html#t:Constraint">Constraint</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Agda-TypeChecking-Reduce.html#t:Normalise">Normalise</a> <a href="Agda-TypeChecking-Monad-Base.html#t:Constraint">Constraint</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Agda-TypeChecking-Reduce.html#t:Reduce">Reduce</a> <a href="Agda-TypeChecking-Monad-Base.html#t:Constraint">Constraint</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Agda-TypeChecking-Reduce.html#t:Instantiate">Instantiate</a> <a href="Agda-TypeChecking-Monad-Base.html#t:Constraint">Constraint</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Agda-TypeChecking-MetaVars-Mention.html#t:MentionsMeta">MentionsMeta</a> <a href="Agda-TypeChecking-Monad-Base.html#t:Constraint">Constraint</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Agda-Syntax-Translation-InternalToAbstract.html#t:Reify">Reify</a> <a href="Agda-TypeChecking-Monad-Base.html#t:Constraint">Constraint</a> (<a href="Agda-Interaction-BasicOps.html#t:OutputConstraint">OutputConstraint</a> <a href="Agda-Syntax-Abstract.html#t:Expr">Expr</a> <a href="Agda-Syntax-Abstract.html#t:Expr">Expr</a>)</td><td class="doc empty">&nbsp;</td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">data</span>  <a name="t:Comparison" class="def">Comparison</a>  <a href="src/Agda-TypeChecking-Monad-Base.html#Comparison" class="link">Source</a></p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:CmpEq" class="def">CmpEq</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:CmpLeq" class="def">CmpLeq</a></td><td class="doc empty">&nbsp;</td></tr></table></div><div class="subs instances"><p id="control.i:Comparison" class="caption collapser" onclick="toggleSection('i:Comparison')">Instances</p><div id="section.i:Comparison" class="show"><table><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Eq.html#t:Eq">Eq</a> <a href="Agda-TypeChecking-Monad-Base.html#t:Comparison">Comparison</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Text-Show.html#t:Show">Show</a> <a href="Agda-TypeChecking-Monad-Base.html#t:Comparison">Comparison</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Typeable-Internal.html#t:Typeable">Typeable</a> <a href="Agda-TypeChecking-Monad-Base.html#t:Comparison">Comparison</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Agda-TypeChecking-Pretty.html#t:PrettyTCM">PrettyTCM</a> <a href="Agda-TypeChecking-Monad-Base.html#t:Comparison">Comparison</a></td><td class="doc empty">&nbsp;</td></tr></table></div></div></div><h1 id="g:5">Open things
</h1><div class="top"><p class="src"><span class="keyword">data</span>  <a name="t:Open" class="def">Open</a> a <a href="src/Agda-TypeChecking-Monad-Base.html#Open" class="link">Source</a></p><div class="doc"><p>A thing tagged with the context it came from.
</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:OpenThing" class="def">OpenThing</a> [<a href="Agda-TypeChecking-Monad-Base.html#t:CtxId">CtxId</a>] a</td><td class="doc empty">&nbsp;</td></tr></table></div><div class="subs instances"><p id="control.i:Open" class="caption collapser" onclick="toggleSection('i:Open')">Instances</p><div id="section.i:Open" class="show"><table><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Control-Monad.html#t:Functor">Functor</a> <a href="Agda-TypeChecking-Monad-Base.html#t:Open">Open</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Typeable-Internal.html#t:Typeable1">Typeable1</a> <a href="Agda-TypeChecking-Monad-Base.html#t:Open">Open</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Text-Show.html#t:Show">Show</a> a =&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Text-Show.html#t:Show">Show</a> (<a href="Agda-TypeChecking-Monad-Base.html#t:Open">Open</a> a)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Agda-TypeChecking-Reduce.html#t:InstantiateFull">InstantiateFull</a> a =&gt; <a href="Agda-TypeChecking-Reduce.html#t:InstantiateFull">InstantiateFull</a> (<a href="Agda-TypeChecking-Monad-Base.html#t:Open">Open</a> a)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Agda-TypeChecking-Serialise.html#t:EmbPrj">EmbPrj</a> a =&gt; <a href="Agda-TypeChecking-Serialise.html#t:EmbPrj">EmbPrj</a> (<a href="Agda-TypeChecking-Monad-Base.html#t:Open">Open</a> a)</td><td class="doc empty">&nbsp;</td></tr></table></div></div></div><h1 id="g:6">Judgements
</h1><div class="top"><p class="src"><span class="keyword">data</span>  <a name="t:Judgement" class="def">Judgement</a> t a <a href="src/Agda-TypeChecking-Monad-Base.html#Judgement" class="link">Source</a></p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:HasType" class="def">HasType</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:jMetaId" class="def">jMetaId</a> :: a</dt><dd class="doc empty">&nbsp;</dd><dt class="src"><a name="v:jMetaType" class="def">jMetaType</a> :: t</dt><dd class="doc empty">&nbsp;</dd></dl><div class="clear"></div></div></td></tr><tr><td class="src"><a name="v:IsSort" class="def">IsSort</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:jMetaId" class="def">jMetaId</a> :: a</dt><dd class="doc empty">&nbsp;</dd><dt class="src"><a name="v:jMetaType" class="def">jMetaType</a> :: t</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:Judgement" class="caption collapser" onclick="toggleSection('i:Judgement')">Instances</p><div id="section.i:Judgement" class="show"><table><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Typeable-Internal.html#t:Typeable2">Typeable2</a> <a href="Agda-TypeChecking-Monad-Base.html#t:Judgement">Judgement</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Control-Monad.html#t:Functor">Functor</a> (<a href="Agda-TypeChecking-Monad-Base.html#t:Judgement">Judgement</a> t)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Foldable.html#t:Foldable">Foldable</a> (<a href="Agda-TypeChecking-Monad-Base.html#t:Judgement">Judgement</a> t)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Traversable.html#t:Traversable">Traversable</a> (<a href="Agda-TypeChecking-Monad-Base.html#t:Judgement">Judgement</a> t)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src">(<a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Text-Show.html#t:Show">Show</a> t, <a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Text-Show.html#t:Show">Show</a> a) =&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Text-Show.html#t:Show">Show</a> (<a href="Agda-TypeChecking-Monad-Base.html#t:Judgement">Judgement</a> t a)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src">(<a href="Agda-TypeChecking-Pretty.html#t:PrettyTCM">PrettyTCM</a> a, <a href="Agda-TypeChecking-Pretty.html#t:PrettyTCM">PrettyTCM</a> b) =&gt; <a href="Agda-TypeChecking-Pretty.html#t:PrettyTCM">PrettyTCM</a> (<a href="Agda-TypeChecking-Monad-Base.html#t:Judgement">Judgement</a> a b)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src">(<a href="Agda-Syntax-Translation-InternalToAbstract.html#t:Reify">Reify</a> t t', <a href="Agda-Syntax-Translation-InternalToAbstract.html#t:Reify">Reify</a> a a') =&gt; <a href="Agda-Syntax-Translation-InternalToAbstract.html#t:Reify">Reify</a> (<a href="Agda-TypeChecking-Monad-Base.html#t:Judgement">Judgement</a> t a) (<a href="Agda-TypeChecking-Monad-Base.html#t:Judgement">Judgement</a> t' a')</td><td class="doc empty">&nbsp;</td></tr></table></div></div></div><h2 id="g:7">Meta variables
</h2><div class="top"><p class="src"><span class="keyword">data</span>  <a name="t:MetaVariable" class="def">MetaVariable</a>  <a href="src/Agda-TypeChecking-Monad-Base.html#MetaVariable" class="link">Source</a></p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:MetaVar" class="def">MetaVar</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:mvInfo" class="def">mvInfo</a> :: <a href="Agda-TypeChecking-Monad-Base.html#t:MetaInfo">MetaInfo</a></dt><dd class="doc empty">&nbsp;</dd><dt class="src"><a name="v:mvPriority" class="def">mvPriority</a> :: <a href="Agda-TypeChecking-Monad-Base.html#t:MetaPriority">MetaPriority</a></dt><dd class="doc"><p>some metavariables are more eager to be instantiated
</p></dd><dt class="src"><a name="v:mvPermutation" class="def">mvPermutation</a> :: <a href="Agda-Utils-Permutation.html#t:Permutation">Permutation</a></dt><dd class="doc"><p>a metavariable doesn't have to depend on all variables
   in the context, this <a href="permutation.html">permutation</a> will throw away the
   ones it does not depend on
</p></dd><dt class="src"><a name="v:mvJudgement" class="def">mvJudgement</a> :: <a href="Agda-TypeChecking-Monad-Base.html#t:Judgement">Judgement</a> <a href="Agda-Syntax-Internal.html#t:Type">Type</a> <a href="Agda-Syntax-Internal.html#t:MetaId">MetaId</a></dt><dd class="doc empty">&nbsp;</dd><dt class="src"><a name="v:mvInstantiation" class="def">mvInstantiation</a> :: <a href="Agda-TypeChecking-Monad-Base.html#t:MetaInstantiation">MetaInstantiation</a></dt><dd class="doc empty">&nbsp;</dd><dt class="src"><a name="v:mvListeners" class="def">mvListeners</a> :: <a href="/usr/share/doc/ghc/html/libraries/containers-0.4.2.1/Data-Set.html#t:Set">Set</a> <a href="Agda-TypeChecking-Monad-Base.html#t:Listener">Listener</a></dt><dd class="doc"><p>meta variables scheduled for eta-expansion but blocked by this one
</p></dd><dt class="src"><a name="v:mvFrozen" class="def">mvFrozen</a> :: <a href="Agda-TypeChecking-Monad-Base.html#t:Frozen">Frozen</a></dt><dd class="doc"><p>are we past the point where we can instantiate this meta variable?
</p></dd></dl><div class="clear"></div></div></td></tr></table></div><div class="subs instances"><p id="control.i:MetaVariable" class="caption collapser" onclick="toggleSection('i:MetaVariable')">Instances</p><div id="section.i:MetaVariable" class="show"><table><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Typeable-Internal.html#t:Typeable">Typeable</a> <a href="Agda-TypeChecking-Monad-Base.html#t:MetaVariable">MetaVariable</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Agda-Syntax-Position.html#t:SetRange">SetRange</a> <a href="Agda-TypeChecking-Monad-Base.html#t:MetaVariable">MetaVariable</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Agda-Syntax-Position.html#t:HasRange">HasRange</a> <a href="Agda-TypeChecking-Monad-Base.html#t:MetaVariable">MetaVariable</a></td><td class="doc empty">&nbsp;</td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">data</span>  <a name="t:Listener" class="def">Listener</a>  <a href="src/Agda-TypeChecking-Monad-Base.html#Listener" class="link">Source</a></p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:EtaExpand" class="def">EtaExpand</a> <a href="Agda-Syntax-Internal.html#t:MetaId">MetaId</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:CheckConstraint" class="def">CheckConstraint</a> <a href="Agda-Syntax-Common.html#t:Nat">Nat</a> <a href="Agda-TypeChecking-Monad-Base.html#t:ProblemConstraint">ProblemConstraint</a></td><td class="doc empty">&nbsp;</td></tr></table></div><div class="subs instances"><p id="control.i:Listener" class="caption collapser" onclick="toggleSection('i:Listener')">Instances</p><div id="section.i:Listener" class="show"><table><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Eq.html#t:Eq">Eq</a> <a href="Agda-TypeChecking-Monad-Base.html#t:Listener">Listener</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Ord.html#t:Ord">Ord</a> <a href="Agda-TypeChecking-Monad-Base.html#t:Listener">Listener</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Typeable-Internal.html#t:Typeable">Typeable</a> <a href="Agda-TypeChecking-Monad-Base.html#t:Listener">Listener</a></td><td class="doc empty">&nbsp;</td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">data</span>  <a name="t:Frozen" class="def">Frozen</a>  <a href="src/Agda-TypeChecking-Monad-Base.html#Frozen" class="link">Source</a></p><div class="doc"><p>Frozen meta variable cannot be instantiated by unification.
   This serves to prevent the completion of a definition by its use
   outside of the current block.
   (See issues 118, 288, 399).
</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:Frozen" class="def">Frozen</a></td><td class="doc"><p>Do not instantiate.
</p></td></tr><tr><td class="src"><a name="v:Instantiable" class="def">Instantiable</a></td><td class="doc empty">&nbsp;</td></tr></table></div><div class="subs instances"><p id="control.i:Frozen" class="caption collapser" onclick="toggleSection('i:Frozen')">Instances</p><div id="section.i:Frozen" class="show"><table><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Eq.html#t:Eq">Eq</a> <a href="Agda-TypeChecking-Monad-Base.html#t:Frozen">Frozen</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Text-Show.html#t:Show">Show</a> <a href="Agda-TypeChecking-Monad-Base.html#t:Frozen">Frozen</a></td><td class="doc empty">&nbsp;</td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">data</span>  <a name="t:MetaInstantiation" class="def">MetaInstantiation</a>  <a href="src/Agda-TypeChecking-Monad-Base.html#MetaInstantiation" class="link">Source</a></p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:InstV" class="def">InstV</a> <a href="Agda-Syntax-Internal.html#t:Term">Term</a></td><td class="doc"><p>solved by term
</p></td></tr><tr><td class="src"><a name="v:InstS" class="def">InstS</a> <a href="Agda-Syntax-Internal.html#t:Term">Term</a></td><td class="doc"><p>solved by <code>Lam .. Sort s</code>
</p></td></tr><tr><td class="src"><a name="v:Open" class="def">Open</a></td><td class="doc"><p>unsolved
</p></td></tr><tr><td class="src"><a name="v:OpenIFS" class="def">OpenIFS</a></td><td class="doc"><p>open, to be instantiated as <a href="implicit from scope.html">implicit from scope</a>
</p></td></tr><tr><td class="src"><a name="v:BlockedConst" class="def">BlockedConst</a> <a href="Agda-Syntax-Internal.html#t:Term">Term</a></td><td class="doc"><p>solution blocked by unsolved constraints
</p></td></tr><tr><td class="src"><a name="v:PostponedTypeCheckingProblem" class="def">PostponedTypeCheckingProblem</a> (<a href="Agda-TypeChecking-Monad-Base.html#t:Closure">Closure</a> (<a href="Agda-Syntax-Abstract.html#t:Expr">Expr</a>, <a href="Agda-Syntax-Internal.html#t:Type">Type</a>, <a href="Agda-TypeChecking-Monad-Base.html#t:TCM">TCM</a> <a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a>))</td><td class="doc empty">&nbsp;</td></tr></table></div><div class="subs instances"><p id="control.i:MetaInstantiation" class="caption collapser" onclick="toggleSection('i:MetaInstantiation')">Instances</p><div id="section.i:MetaInstantiation" class="show"><table><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Text-Show.html#t:Show">Show</a> <a href="Agda-TypeChecking-Monad-Base.html#t:MetaInstantiation">MetaInstantiation</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Typeable-Internal.html#t:Typeable">Typeable</a> <a href="Agda-TypeChecking-Monad-Base.html#t:MetaInstantiation">MetaInstantiation</a></td><td class="doc empty">&nbsp;</td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">newtype</span>  <a name="t:MetaPriority" class="def">MetaPriority</a>  <a href="src/Agda-TypeChecking-Monad-Base.html#MetaPriority" class="link">Source</a></p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:MetaPriority" class="def">MetaPriority</a> <a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Int.html#t:Int">Int</a></td><td class="doc empty">&nbsp;</td></tr></table></div><div class="subs instances"><p id="control.i:MetaPriority" class="caption collapser" onclick="toggleSection('i:MetaPriority')">Instances</p><div id="section.i:MetaPriority" class="show"><table><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Eq.html#t:Eq">Eq</a> <a href="Agda-TypeChecking-Monad-Base.html#t:MetaPriority">MetaPriority</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Ord.html#t:Ord">Ord</a> <a href="Agda-TypeChecking-Monad-Base.html#t:MetaPriority">MetaPriority</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Text-Show.html#t:Show">Show</a> <a href="Agda-TypeChecking-Monad-Base.html#t:MetaPriority">MetaPriority</a></td><td class="doc empty">&nbsp;</td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">data</span>  <a name="t:RunMetaOccursCheck" class="def">RunMetaOccursCheck</a>  <a href="src/Agda-TypeChecking-Monad-Base.html#RunMetaOccursCheck" class="link">Source</a></p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:RunMetaOccursCheck" class="def">RunMetaOccursCheck</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:DontRunMetaOccursCheck" class="def">DontRunMetaOccursCheck</a></td><td class="doc empty">&nbsp;</td></tr></table></div><div class="subs instances"><p id="control.i:RunMetaOccursCheck" class="caption collapser" onclick="toggleSection('i:RunMetaOccursCheck')">Instances</p><div id="section.i:RunMetaOccursCheck" class="show"><table><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Eq.html#t:Eq">Eq</a> <a href="Agda-TypeChecking-Monad-Base.html#t:RunMetaOccursCheck">RunMetaOccursCheck</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Ord.html#t:Ord">Ord</a> <a href="Agda-TypeChecking-Monad-Base.html#t:RunMetaOccursCheck">RunMetaOccursCheck</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Text-Show.html#t:Show">Show</a> <a href="Agda-TypeChecking-Monad-Base.html#t:RunMetaOccursCheck">RunMetaOccursCheck</a></td><td class="doc empty">&nbsp;</td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">data</span>  <a name="t:MetaInfo" class="def">MetaInfo</a>  <a href="src/Agda-TypeChecking-Monad-Base.html#MetaInfo" class="link">Source</a></p><div class="doc"><p><code>MetaInfo</code> is cloned from one meta to the next during pruning.
</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:MetaInfo" class="def">MetaInfo</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:miClosRange" class="def">miClosRange</a> :: <a href="Agda-TypeChecking-Monad-Base.html#t:Closure">Closure</a> <a href="Agda-Syntax-Position.html#t:Range">Range</a></dt><dd class="doc empty">&nbsp;</dd><dt class="src"><a name="v:miMetaOccursCheck" class="def">miMetaOccursCheck</a> :: <a href="Agda-TypeChecking-Monad-Base.html#t:RunMetaOccursCheck">RunMetaOccursCheck</a></dt><dd class="doc"><p>Run the extended occurs check that goes in definitions?
</p></dd><dt class="src"><a name="v:miNameSuggestion" class="def">miNameSuggestion</a> :: <a href="Agda-TypeChecking-Monad-Base.html#t:MetaNameSuggestion">MetaNameSuggestion</a></dt><dd class="doc"><p>Used for printing.
   <code>Just x</code> if meta-variable comes from omitted argument with name <code>x</code>.
</p></dd></dl><div class="clear"></div></div></td></tr></table></div></div><div class="top"><p class="src"><span class="keyword">type</span> <a name="t:MetaNameSuggestion" class="def">MetaNameSuggestion</a> = <a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-String.html#t:String">String</a><a href="src/Agda-TypeChecking-Monad-Base.html#MetaNameSuggestion" class="link">Source</a></p><div class="doc"><p>Name suggestion for meta variable.  Empty string means no suggestion.
</p></div></div><div class="top"><p class="src"><span class="keyword">data</span>  <a name="t:NamedMeta" class="def">NamedMeta</a>  <a href="src/Agda-TypeChecking-Monad-Base.html#NamedMeta" class="link">Source</a></p><div class="doc"><p>For printing, we couple a meta with its name suggestion.
</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:NamedMeta" class="def">NamedMeta</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:nmSuggestion" class="def">nmSuggestion</a> :: <a href="Agda-TypeChecking-Monad-Base.html#t:MetaNameSuggestion">MetaNameSuggestion</a></dt><dd class="doc empty">&nbsp;</dd><dt class="src"><a name="v:nmid" class="def">nmid</a> :: <a href="Agda-Syntax-Internal.html#t:MetaId">MetaId</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:NamedMeta" class="caption collapser" onclick="toggleSection('i:NamedMeta')">Instances</p><div id="section.i:NamedMeta" class="show"><table><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Text-Show.html#t:Show">Show</a> <a href="Agda-TypeChecking-Monad-Base.html#t:NamedMeta">NamedMeta</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Agda-Syntax-Translation-AbstractToConcrete.html#t:ToConcrete">ToConcrete</a> <a href="Agda-TypeChecking-Monad-Base.html#t:NamedMeta">NamedMeta</a> <a href="Agda-Syntax-Concrete.html#t:Expr">Expr</a></td><td class="doc empty">&nbsp;</td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">type</span> <a name="t:MetaStore" class="def">MetaStore</a> = <a href="/usr/share/doc/ghc/html/libraries/containers-0.4.2.1/Data-Map.html#t:Map">Map</a> <a href="Agda-Syntax-Internal.html#t:MetaId">MetaId</a> <a href="Agda-TypeChecking-Monad-Base.html#t:MetaVariable">MetaVariable</a><a href="src/Agda-TypeChecking-Monad-Base.html#MetaStore" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:normalMetaPriority" class="def">normalMetaPriority</a> :: <a href="Agda-TypeChecking-Monad-Base.html#t:MetaPriority">MetaPriority</a><a href="src/Agda-TypeChecking-Monad-Base.html#normalMetaPriority" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:lowMetaPriority" class="def">lowMetaPriority</a> :: <a href="Agda-TypeChecking-Monad-Base.html#t:MetaPriority">MetaPriority</a><a href="src/Agda-TypeChecking-Monad-Base.html#lowMetaPriority" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:highMetaPriority" class="def">highMetaPriority</a> :: <a href="Agda-TypeChecking-Monad-Base.html#t:MetaPriority">MetaPriority</a><a href="src/Agda-TypeChecking-Monad-Base.html#highMetaPriority" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:getMetaInfo" class="def">getMetaInfo</a> :: <a href="Agda-TypeChecking-Monad-Base.html#t:MetaVariable">MetaVariable</a> -&gt; <a href="Agda-TypeChecking-Monad-Base.html#t:Closure">Closure</a> <a href="Agda-Syntax-Position.html#t:Range">Range</a><a href="src/Agda-TypeChecking-Monad-Base.html#getMetaInfo" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:getMetaScope" class="def">getMetaScope</a> :: <a href="Agda-TypeChecking-Monad-Base.html#t:MetaVariable">MetaVariable</a> -&gt; <a href="Agda-Syntax-Scope-Base.html#t:ScopeInfo">ScopeInfo</a><a href="src/Agda-TypeChecking-Monad-Base.html#getMetaScope" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:getMetaEnv" class="def">getMetaEnv</a> :: <a href="Agda-TypeChecking-Monad-Base.html#t:MetaVariable">MetaVariable</a> -&gt; <a href="Agda-TypeChecking-Monad-Base.html#t:TCEnv">TCEnv</a><a href="src/Agda-TypeChecking-Monad-Base.html#getMetaEnv" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:getMetaSig" class="def">getMetaSig</a> :: <a href="Agda-TypeChecking-Monad-Base.html#t:MetaVariable">MetaVariable</a> -&gt; <a href="Agda-TypeChecking-Monad-Base.html#t:Signature">Signature</a><a href="src/Agda-TypeChecking-Monad-Base.html#getMetaSig" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:getMetaRelevance" class="def">getMetaRelevance</a> :: <a href="Agda-TypeChecking-Monad-Base.html#t:MetaVariable">MetaVariable</a> -&gt; <a href="Agda-Syntax-Common.html#t:Relevance">Relevance</a><a href="src/Agda-TypeChecking-Monad-Base.html#getMetaRelevance" class="link">Source</a></p></div><h2 id="g:8">Interaction meta variables
</h2><div class="top"><p class="src"><span class="keyword">type</span> <a name="t:InteractionPoints" class="def">InteractionPoints</a> = <a href="/usr/share/doc/ghc/html/libraries/containers-0.4.2.1/Data-Map.html#t:Map">Map</a> <a href="Agda-TypeChecking-Monad-Base.html#t:InteractionId">InteractionId</a> <a href="Agda-Syntax-Internal.html#t:MetaId">MetaId</a><a href="src/Agda-TypeChecking-Monad-Base.html#InteractionPoints" class="link">Source</a></p></div><div class="top"><p class="src"><span class="keyword">newtype</span>  <a name="t:InteractionId" class="def">InteractionId</a>  <a href="src/Agda-TypeChecking-Monad-Base.html#InteractionId" class="link">Source</a></p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:InteractionId" class="def">InteractionId</a> <a href="Agda-Syntax-Common.html#t:Nat">Nat</a></td><td class="doc empty">&nbsp;</td></tr></table></div><div class="subs instances"><p id="control.i:InteractionId" class="caption collapser" onclick="toggleSection('i:InteractionId')">Instances</p><div id="section.i:InteractionId" class="show"><table><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Prelude.html#t:Enum">Enum</a> <a href="Agda-TypeChecking-Monad-Base.html#t:InteractionId">InteractionId</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Eq.html#t:Eq">Eq</a> <a href="Agda-TypeChecking-Monad-Base.html#t:InteractionId">InteractionId</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Prelude.html#t:Integral">Integral</a> <a href="Agda-TypeChecking-Monad-Base.html#t:InteractionId">InteractionId</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Prelude.html#t:Num">Num</a> <a href="Agda-TypeChecking-Monad-Base.html#t:InteractionId">InteractionId</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Ord.html#t:Ord">Ord</a> <a href="Agda-TypeChecking-Monad-Base.html#t:InteractionId">InteractionId</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Text-Read.html#t:Read">Read</a> <a href="Agda-TypeChecking-Monad-Base.html#t:InteractionId">InteractionId</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Prelude.html#t:Real">Real</a> <a href="Agda-TypeChecking-Monad-Base.html#t:InteractionId">InteractionId</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Text-Show.html#t:Show">Show</a> <a href="Agda-TypeChecking-Monad-Base.html#t:InteractionId">InteractionId</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Agda-Utils-Fresh.html#t:HasFresh">HasFresh</a> <a href="Agda-TypeChecking-Monad-Base.html#t:InteractionId">InteractionId</a> <a href="Agda-TypeChecking-Monad-Base.html#t:FreshThings">FreshThings</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Agda-Syntax-Translation-AbstractToConcrete.html#t:ToConcrete">ToConcrete</a> <a href="Agda-TypeChecking-Monad-Base.html#t:InteractionId">InteractionId</a> <a href="Agda-Syntax-Concrete.html#t:Expr">Expr</a></td><td class="doc empty">&nbsp;</td></tr></table></div></div></div><h2 id="g:9">Signature
</h2><div class="top"><p class="src"><span class="keyword">data</span>  <a name="t:Signature" class="def">Signature</a>  <a href="src/Agda-TypeChecking-Monad-Base.html#Signature" class="link">Source</a></p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:Sig" class="def">Sig</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:sigSections" class="def">sigSections</a> :: <a href="Agda-TypeChecking-Monad-Base.html#t:Sections">Sections</a></dt><dd class="doc empty">&nbsp;</dd><dt class="src"><a name="v:sigDefinitions" class="def">sigDefinitions</a> :: <a href="Agda-TypeChecking-Monad-Base.html#t:Definitions">Definitions</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:Signature" class="caption collapser" onclick="toggleSection('i:Signature')">Instances</p><div id="section.i:Signature" class="show"><table><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Text-Show.html#t:Show">Show</a> <a href="Agda-TypeChecking-Monad-Base.html#t:Signature">Signature</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Typeable-Internal.html#t:Typeable">Typeable</a> <a href="Agda-TypeChecking-Monad-Base.html#t:Signature">Signature</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Agda-TypeChecking-Reduce.html#t:InstantiateFull">InstantiateFull</a> <a href="Agda-TypeChecking-Monad-Base.html#t:Signature">Signature</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Agda-TypeChecking-Serialise.html#t:EmbPrj">EmbPrj</a> <a href="Agda-TypeChecking-Monad-Base.html#t:Signature">Signature</a></td><td class="doc empty">&nbsp;</td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">type</span> <a name="t:Sections" class="def">Sections</a> = <a href="/usr/share/doc/ghc/html/libraries/containers-0.4.2.1/Data-Map.html#t:Map">Map</a> <a href="Agda-Syntax-Abstract-Name.html#t:ModuleName">ModuleName</a> <a href="Agda-TypeChecking-Monad-Base.html#t:Section">Section</a><a href="src/Agda-TypeChecking-Monad-Base.html#Sections" class="link">Source</a></p></div><div class="top"><p class="src"><span class="keyword">type</span> <a name="t:Definitions" class="def">Definitions</a> = <a href="/usr/share/doc/ghc/html/libraries/unordered-containers-0.2.2.1/Data-HashMap-Strict.html#t:HashMap">HashMap</a> <a href="Agda-Syntax-Abstract-Name.html#t:QName">QName</a> <a href="Agda-TypeChecking-Monad-Base.html#t:Definition">Definition</a><a href="src/Agda-TypeChecking-Monad-Base.html#Definitions" class="link">Source</a></p></div><div class="top"><p class="src"><span class="keyword">data</span>  <a name="t:Section" class="def">Section</a>  <a href="src/Agda-TypeChecking-Monad-Base.html#Section" class="link">Source</a></p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:Section" class="def">Section</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:secTelescope" class="def">secTelescope</a> :: <a href="Agda-Syntax-Internal.html#t:Telescope">Telescope</a></dt><dd class="doc empty">&nbsp;</dd><dt class="src"><a name="v:secFreeVars" class="def">secFreeVars</a> :: <a href="Agda-Syntax-Common.html#t:Nat">Nat</a></dt><dd class="doc"><p>This is the number of parameters when
	 we're inside the section and 0
	 outside. It's used to know how much of
	 the context to apply function from the
	 section to when translating from
	 abstract to internal syntax.
</p></dd></dl><div class="clear"></div></div></td></tr></table></div><div class="subs instances"><p id="control.i:Section" class="caption collapser" onclick="toggleSection('i:Section')">Instances</p><div id="section.i:Section" class="show"><table><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Text-Show.html#t:Show">Show</a> <a href="Agda-TypeChecking-Monad-Base.html#t:Section">Section</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Typeable-Internal.html#t:Typeable">Typeable</a> <a href="Agda-TypeChecking-Monad-Base.html#t:Section">Section</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Agda-TypeChecking-Reduce.html#t:InstantiateFull">InstantiateFull</a> <a href="Agda-TypeChecking-Monad-Base.html#t:Section">Section</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Agda-TypeChecking-Serialise.html#t:EmbPrj">EmbPrj</a> <a href="Agda-TypeChecking-Monad-Base.html#t:Section">Section</a></td><td class="doc empty">&nbsp;</td></tr></table></div></div></div><div class="top"><p class="src"><a name="v:emptySignature" class="def">emptySignature</a> :: <a href="Agda-TypeChecking-Monad-Base.html#t:Signature">Signature</a><a href="src/Agda-TypeChecking-Monad-Base.html#emptySignature" class="link">Source</a></p></div><div class="top"><p class="src"><span class="keyword">data</span>  <a name="t:DisplayForm" class="def">DisplayForm</a>  <a href="src/Agda-TypeChecking-Monad-Base.html#DisplayForm" class="link">Source</a></p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:Display" class="def">Display</a> <a href="Agda-Syntax-Common.html#t:Nat">Nat</a> [<a href="Agda-Syntax-Internal.html#t:Term">Term</a>] <a href="Agda-TypeChecking-Monad-Base.html#t:DisplayTerm">DisplayTerm</a></td><td class="doc"><p>The three arguments are:
</p><ul><li> <code>n</code>: number of free variables;
</li><li> Patterns for arguments, one extra free var which
     represents pattern vars. There should <code>n</code> of them.
</li><li> Display form. <code>n</code> free variables.
</li></ul></td></tr></table></div><div class="subs instances"><p id="control.i:DisplayForm" class="caption collapser" onclick="toggleSection('i:DisplayForm')">Instances</p><div id="section.i:DisplayForm" class="show"><table><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Text-Show.html#t:Show">Show</a> <a href="Agda-TypeChecking-Monad-Base.html#t:DisplayForm">DisplayForm</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Typeable-Internal.html#t:Typeable">Typeable</a> <a href="Agda-TypeChecking-Monad-Base.html#t:DisplayForm">DisplayForm</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Agda-TypeChecking-Substitute.html#t:Subst">Subst</a> <a href="Agda-TypeChecking-Monad-Base.html#t:DisplayForm">DisplayForm</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Agda-TypeChecking-Reduce.html#t:InstantiateFull">InstantiateFull</a> <a href="Agda-TypeChecking-Monad-Base.html#t:DisplayForm">DisplayForm</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Agda-TypeChecking-Reduce.html#t:Normalise">Normalise</a> <a href="Agda-TypeChecking-Monad-Base.html#t:DisplayForm">DisplayForm</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Agda-TypeChecking-Serialise.html#t:EmbPrj">EmbPrj</a> <a href="Agda-TypeChecking-Monad-Base.html#t:DisplayForm">DisplayForm</a></td><td class="doc empty">&nbsp;</td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">data</span>  <a name="t:DisplayTerm" class="def">DisplayTerm</a>  <a href="src/Agda-TypeChecking-Monad-Base.html#DisplayTerm" class="link">Source</a></p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:DWithApp" class="def">DWithApp</a> [<a href="Agda-TypeChecking-Monad-Base.html#t:DisplayTerm">DisplayTerm</a>] <a href="Agda-Syntax-Internal.html#t:Args">Args</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:DCon" class="def">DCon</a> <a href="Agda-Syntax-Abstract-Name.html#t:QName">QName</a> [<a href="Agda-Syntax-Common.html#t:Arg">Arg</a> <a href="Agda-TypeChecking-Monad-Base.html#t:DisplayTerm">DisplayTerm</a>]</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:DDef" class="def">DDef</a> <a href="Agda-Syntax-Abstract-Name.html#t:QName">QName</a> [<a href="Agda-Syntax-Common.html#t:Arg">Arg</a> <a href="Agda-TypeChecking-Monad-Base.html#t:DisplayTerm">DisplayTerm</a>]</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:DDot" class="def">DDot</a> <a href="Agda-Syntax-Internal.html#t:Term">Term</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:DTerm" class="def">DTerm</a> <a href="Agda-Syntax-Internal.html#t:Term">Term</a></td><td class="doc empty">&nbsp;</td></tr></table></div><div class="subs instances"><p id="control.i:DisplayTerm" class="caption collapser" onclick="toggleSection('i:DisplayTerm')">Instances</p><div id="section.i:DisplayTerm" class="show"><table><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Text-Show.html#t:Show">Show</a> <a href="Agda-TypeChecking-Monad-Base.html#t:DisplayTerm">DisplayTerm</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Typeable-Internal.html#t:Typeable">Typeable</a> <a href="Agda-TypeChecking-Monad-Base.html#t:DisplayTerm">DisplayTerm</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Agda-TypeChecking-Substitute.html#t:Subst">Subst</a> <a href="Agda-TypeChecking-Monad-Base.html#t:DisplayTerm">DisplayTerm</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Agda-TypeChecking-Substitute.html#t:Apply">Apply</a> <a href="Agda-TypeChecking-Monad-Base.html#t:DisplayTerm">DisplayTerm</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Agda-TypeChecking-Pretty.html#t:PrettyTCM">PrettyTCM</a> <a href="Agda-TypeChecking-Monad-Base.html#t:DisplayTerm">DisplayTerm</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Agda-TypeChecking-Reduce.html#t:InstantiateFull">InstantiateFull</a> <a href="Agda-TypeChecking-Monad-Base.html#t:DisplayTerm">DisplayTerm</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Agda-TypeChecking-Serialise.html#t:EmbPrj">EmbPrj</a> <a href="Agda-TypeChecking-Monad-Base.html#t:DisplayTerm">DisplayTerm</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Agda-Syntax-Translation-InternalToAbstract.html#t:Reify">Reify</a> <a href="Agda-TypeChecking-Monad-Base.html#t:DisplayTerm">DisplayTerm</a> <a href="Agda-Syntax-Abstract.html#t:Expr">Expr</a></td><td class="doc empty">&nbsp;</td></tr></table></div></div></div><div class="top"><p class="src"><a name="v:defaultDisplayForm" class="def">defaultDisplayForm</a> :: <a href="Agda-Syntax-Abstract-Name.html#t:QName">QName</a> -&gt; [<a href="Agda-TypeChecking-Monad-Base.html#t:Open">Open</a> <a href="Agda-TypeChecking-Monad-Base.html#t:DisplayForm">DisplayForm</a>]<a href="src/Agda-TypeChecking-Monad-Base.html#defaultDisplayForm" class="link">Source</a></p></div><div class="top"><p class="src"><span class="keyword">data</span>  <a name="t:Definition" class="def">Definition</a>  <a href="src/Agda-TypeChecking-Monad-Base.html#Definition" class="link">Source</a></p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:Defn" class="def">Defn</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:defRelevance" class="def">defRelevance</a> :: <a href="Agda-Syntax-Common.html#t:Relevance">Relevance</a></dt><dd class="doc"><p>Some defs can be irrelevant (but not hidden).
</p></dd><dt class="src"><a name="v:defName" class="def">defName</a> :: <a href="Agda-Syntax-Abstract-Name.html#t:QName">QName</a></dt><dd class="doc empty">&nbsp;</dd><dt class="src"><a name="v:defType" class="def">defType</a> :: <a href="Agda-Syntax-Internal.html#t:Type">Type</a></dt><dd class="doc"><p>Type of the lifted definition.
</p></dd><dt class="src"><a name="v:defPolarity" class="def">defPolarity</a> :: [<a href="Agda-TypeChecking-Monad-Base.html#t:Polarity">Polarity</a>]</dt><dd class="doc empty">&nbsp;</dd><dt class="src"><a name="v:defArgOccurrences" class="def">defArgOccurrences</a> :: [<a href="Agda-TypeChecking-Monad-Base.html#t:Occurrence">Occurrence</a>]</dt><dd class="doc empty">&nbsp;</dd><dt class="src"><a name="v:defDisplay" class="def">defDisplay</a> :: [<a href="Agda-TypeChecking-Monad-Base.html#t:Open">Open</a> <a href="Agda-TypeChecking-Monad-Base.html#t:DisplayForm">DisplayForm</a>]</dt><dd class="doc empty">&nbsp;</dd><dt class="src"><a name="v:defMutual" class="def">defMutual</a> :: <a href="Agda-TypeChecking-Monad-Base.html#t:MutualId">MutualId</a></dt><dd class="doc empty">&nbsp;</dd><dt class="src"><a name="v:defCompiledRep" class="def">defCompiledRep</a> :: <a href="Agda-TypeChecking-Monad-Base.html#t:CompiledRepresentation">CompiledRepresentation</a></dt><dd class="doc empty">&nbsp;</dd><dt class="src"><a name="v:theDef" class="def">theDef</a> :: <a href="Agda-TypeChecking-Monad-Base.html#t:Defn">Defn</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:Definition" class="caption collapser" onclick="toggleSection('i:Definition')">Instances</p><div id="section.i:Definition" class="show"><table><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Text-Show.html#t:Show">Show</a> <a href="Agda-TypeChecking-Monad-Base.html#t:Definition">Definition</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Typeable-Internal.html#t:Typeable">Typeable</a> <a href="Agda-TypeChecking-Monad-Base.html#t:Definition">Definition</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Agda-TypeChecking-Substitute.html#t:Abstract">Abstract</a> <a href="Agda-TypeChecking-Monad-Base.html#t:Definition">Definition</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Agda-TypeChecking-Substitute.html#t:Apply">Apply</a> <a href="Agda-TypeChecking-Monad-Base.html#t:Definition">Definition</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Agda-TypeChecking-Reduce.html#t:InstantiateFull">InstantiateFull</a> <a href="Agda-TypeChecking-Monad-Base.html#t:Definition">Definition</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Agda-TypeChecking-Serialise.html#t:EmbPrj">EmbPrj</a> <a href="Agda-TypeChecking-Monad-Base.html#t:Definition">Definition</a></td><td class="doc empty">&nbsp;</td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">type</span> <a name="t:HaskellCode" class="def">HaskellCode</a> = <a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-String.html#t:String">String</a><a href="src/Agda-TypeChecking-Monad-Base.html#HaskellCode" class="link">Source</a></p></div><div class="top"><p class="src"><span class="keyword">type</span> <a name="t:HaskellType" class="def">HaskellType</a> = <a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-String.html#t:String">String</a><a href="src/Agda-TypeChecking-Monad-Base.html#HaskellType" class="link">Source</a></p></div><div class="top"><p class="src"><span class="keyword">type</span> <a name="t:EpicCode" class="def">EpicCode</a> = <a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-String.html#t:String">String</a><a href="src/Agda-TypeChecking-Monad-Base.html#EpicCode" class="link">Source</a></p></div><div class="top"><p class="src"><span class="keyword">type</span> <a name="t:JSCode" class="def">JSCode</a> = <a href="Agda-Compiler-JS-Syntax.html#t:Exp">Exp</a><a href="src/Agda-TypeChecking-Monad-Base.html#JSCode" class="link">Source</a></p></div><div class="top"><p class="src"><span class="keyword">data</span>  <a name="t:HaskellRepresentation" class="def">HaskellRepresentation</a>  <a href="src/Agda-TypeChecking-Monad-Base.html#HaskellRepresentation" class="link">Source</a></p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:HsDefn" class="def">HsDefn</a> <a href="Agda-TypeChecking-Monad-Base.html#t:HaskellType">HaskellType</a> <a href="Agda-TypeChecking-Monad-Base.html#t:HaskellCode">HaskellCode</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:HsType" class="def">HsType</a> <a href="Agda-TypeChecking-Monad-Base.html#t:HaskellType">HaskellType</a></td><td class="doc empty">&nbsp;</td></tr></table></div><div class="subs instances"><p id="control.i:HaskellRepresentation" class="caption collapser" onclick="toggleSection('i:HaskellRepresentation')">Instances</p><div id="section.i:HaskellRepresentation" class="show"><table><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Text-Show.html#t:Show">Show</a> <a href="Agda-TypeChecking-Monad-Base.html#t:HaskellRepresentation">HaskellRepresentation</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Typeable-Internal.html#t:Typeable">Typeable</a> <a href="Agda-TypeChecking-Monad-Base.html#t:HaskellRepresentation">HaskellRepresentation</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Agda-TypeChecking-Serialise.html#t:EmbPrj">EmbPrj</a> <a href="Agda-TypeChecking-Monad-Base.html#t:HaskellRepresentation">HaskellRepresentation</a></td><td class="doc empty">&nbsp;</td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">data</span>  <a name="t:Polarity" class="def">Polarity</a>  <a href="src/Agda-TypeChecking-Monad-Base.html#Polarity" class="link">Source</a></p><div class="doc"><p>Polarity for equality and subtype checking.
</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:Covariant" class="def">Covariant</a></td><td class="doc"><p>monotone
</p></td></tr><tr><td class="src"><a name="v:Contravariant" class="def">Contravariant</a></td><td class="doc"><p>antitone
</p></td></tr><tr><td class="src"><a name="v:Invariant" class="def">Invariant</a></td><td class="doc"><p>no information (mixed variance)
</p></td></tr><tr><td class="src"><a name="v:Nonvariant" class="def">Nonvariant</a></td><td class="doc"><p>constant
</p></td></tr></table></div><div class="subs instances"><p id="control.i:Polarity" class="caption collapser" onclick="toggleSection('i:Polarity')">Instances</p><div id="section.i:Polarity" class="show"><table><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Eq.html#t:Eq">Eq</a> <a href="Agda-TypeChecking-Monad-Base.html#t:Polarity">Polarity</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Text-Show.html#t:Show">Show</a> <a href="Agda-TypeChecking-Monad-Base.html#t:Polarity">Polarity</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Typeable-Internal.html#t:Typeable">Typeable</a> <a href="Agda-TypeChecking-Monad-Base.html#t:Polarity">Polarity</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Agda-TypeChecking-Serialise.html#t:EmbPrj">EmbPrj</a> <a href="Agda-TypeChecking-Monad-Base.html#t:Polarity">Polarity</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Agda-TypeChecking-Substitute.html#t:Abstract">Abstract</a> [<a href="Agda-TypeChecking-Monad-Base.html#t:Polarity">Polarity</a>]</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Agda-TypeChecking-Substitute.html#t:Apply">Apply</a> [<a href="Agda-TypeChecking-Monad-Base.html#t:Polarity">Polarity</a>]</td><td class="doc empty">&nbsp;</td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">data</span>  <a name="t:CompiledRepresentation" class="def">CompiledRepresentation</a>  <a href="src/Agda-TypeChecking-Monad-Base.html#CompiledRepresentation" class="link">Source</a></p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:CompiledRep" class="def">CompiledRep</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:compiledHaskell" class="def">compiledHaskell</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Agda-TypeChecking-Monad-Base.html#t:HaskellRepresentation">HaskellRepresentation</a></dt><dd class="doc empty">&nbsp;</dd><dt class="src"><a name="v:compiledEpic" class="def">compiledEpic</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Agda-TypeChecking-Monad-Base.html#t:EpicCode">EpicCode</a></dt><dd class="doc empty">&nbsp;</dd><dt class="src"><a name="v:compiledJS" class="def">compiledJS</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Agda-TypeChecking-Monad-Base.html#t:JSCode">JSCode</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:CompiledRepresentation" class="caption collapser" onclick="toggleSection('i:CompiledRepresentation')">Instances</p><div id="section.i:CompiledRepresentation" class="show"><table><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Text-Show.html#t:Show">Show</a> <a href="Agda-TypeChecking-Monad-Base.html#t:CompiledRepresentation">CompiledRepresentation</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Typeable-Internal.html#t:Typeable">Typeable</a> <a href="Agda-TypeChecking-Monad-Base.html#t:CompiledRepresentation">CompiledRepresentation</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Agda-TypeChecking-Serialise.html#t:EmbPrj">EmbPrj</a> <a href="Agda-TypeChecking-Monad-Base.html#t:CompiledRepresentation">CompiledRepresentation</a></td><td class="doc empty">&nbsp;</td></tr></table></div></div></div><div class="top"><p class="src"><a name="v:noCompiledRep" class="def">noCompiledRep</a> :: <a href="Agda-TypeChecking-Monad-Base.html#t:CompiledRepresentation">CompiledRepresentation</a><a href="src/Agda-TypeChecking-Monad-Base.html#noCompiledRep" class="link">Source</a></p></div><div class="top"><p class="src"><span class="keyword">data</span>  <a name="t:Occurrence" class="def">Occurrence</a>  <a href="src/Agda-TypeChecking-Monad-Base.html#Occurrence" class="link">Source</a></p><div class="doc"><p>Subterm occurrences for positivity checking.
   The constructors are listed in increasing information they provide:
   <code>Mixed &lt;= JustPos &lt;= StrictPos &lt;= GuardPos &lt;= Unused</code>
   <code>Mixed &lt;= JustNeg &lt;= Unused</code>.
</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:Mixed" class="def">Mixed</a></td><td class="doc"><p>Arbitrary occurrence (positive and negative).
</p></td></tr><tr><td class="src"><a name="v:JustNeg" class="def">JustNeg</a></td><td class="doc"><p>Negative occurrence.
</p></td></tr><tr><td class="src"><a name="v:JustPos" class="def">JustPos</a></td><td class="doc"><p>Positive occurrence, but not strictly positive.
</p></td></tr><tr><td class="src"><a name="v:StrictPos" class="def">StrictPos</a></td><td class="doc"><p>Strictly positive occurrence.
</p></td></tr><tr><td class="src"><a name="v:GuardPos" class="def">GuardPos</a></td><td class="doc"><p>Guarded strictly positive occurrence (i.e., under &#8734;).  For checking recursive records.
</p></td></tr><tr><td class="src"><a name="v:Unused" class="def">Unused</a></td><td class="doc empty">&nbsp;</td></tr></table></div><div class="subs instances"><p id="control.i:Occurrence" class="caption collapser" onclick="toggleSection('i:Occurrence')">Instances</p><div id="section.i:Occurrence" class="show"><table><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Eq.html#t:Eq">Eq</a> <a href="Agda-TypeChecking-Monad-Base.html#t:Occurrence">Occurrence</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Ord.html#t:Ord">Ord</a> <a href="Agda-TypeChecking-Monad-Base.html#t:Occurrence">Occurrence</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Text-Show.html#t:Show">Show</a> <a href="Agda-TypeChecking-Monad-Base.html#t:Occurrence">Occurrence</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Typeable-Internal.html#t:Typeable">Typeable</a> <a href="Agda-TypeChecking-Monad-Base.html#t:Occurrence">Occurrence</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/deepseq-1.3.0.0/Control-DeepSeq.html#t:NFData">NFData</a> <a href="Agda-TypeChecking-Monad-Base.html#t:Occurrence">Occurrence</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Agda-Utils-SemiRing.html#t:SemiRing">SemiRing</a> <a href="Agda-TypeChecking-Monad-Base.html#t:Occurrence">Occurrence</a></td><td class="doc"><p><code><a href="Agda-TypeChecking-Monad-Base.html#t:Occurrence">Occurrence</a></code> is a complete lattice with least element <code><a href="Agda-TypeChecking-Monad-Base.html#v:Mixed">Mixed</a></code>
   and greatest element <code><a href="Agda-TypeChecking-Monad-Base.html#v:Unused">Unused</a></code>.
</p><p>It forms a commutative semiring where <code><a href="Agda-Utils-SemiRing.html#v:oplus">oplus</a></code> is meet (glb)
   and <code><a href="Agda-Utils-SemiRing.html#v:otimes">otimes</a></code> is composition. Both operations are idempotent.
</p><p>For <code><a href="Agda-Utils-SemiRing.html#v:oplus">oplus</a></code>, <code><a href="Agda-TypeChecking-Monad-Base.html#v:Unused">Unused</a></code> is neutral (zero) and <code><a href="Agda-TypeChecking-Monad-Base.html#v:Mixed">Mixed</a></code> is dominant.
   For <code><a href="Agda-Utils-SemiRing.html#v:otimes">otimes</a></code>, <code><a href="Agda-TypeChecking-Monad-Base.html#v:StrictPos">StrictPos</a></code> is neutral (one) and <code><a href="Agda-TypeChecking-Monad-Base.html#v:Unused">Unused</a></code> is dominant.
</p></td></tr><tr><td class="src"><a href="Agda-TypeChecking-Pretty.html#t:PrettyTCM">PrettyTCM</a> <a href="Agda-TypeChecking-Monad-Base.html#t:Occurrence">Occurrence</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Agda-TypeChecking-Serialise.html#t:EmbPrj">EmbPrj</a> <a href="Agda-TypeChecking-Monad-Base.html#t:Occurrence">Occurrence</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Agda-TypeChecking-Substitute.html#t:Abstract">Abstract</a> [<a href="Agda-TypeChecking-Monad-Base.html#t:Occurrence">Occurrence</a>]</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Agda-TypeChecking-Substitute.html#t:Apply">Apply</a> [<a href="Agda-TypeChecking-Monad-Base.html#t:Occurrence">Occurrence</a>]</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Agda-TypeChecking-Pretty.html#t:PrettyTCM">PrettyTCM</a> n =&gt; <a href="Agda-TypeChecking-Pretty.html#t:PrettyTCM">PrettyTCM</a> (n, <a href="Agda-TypeChecking-Monad-Base.html#t:Occurrence">Occurrence</a>)</td><td class="doc empty">&nbsp;</td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">data</span>  <a name="t:Defn" class="def">Defn</a>  <a href="src/Agda-TypeChecking-Monad-Base.html#Defn" class="link">Source</a></p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:Axiom" class="def">Axiom</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:Function" class="def">Function</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:funClauses" class="def">funClauses</a> :: [<a href="Agda-Syntax-Internal.html#t:Clause">Clause</a>]</dt><dd class="doc empty">&nbsp;</dd><dt class="src"><a name="v:funCompiled" class="def">funCompiled</a> :: <a href="Agda-TypeChecking-CompiledClause.html#t:CompiledClauses">CompiledClauses</a></dt><dd class="doc empty">&nbsp;</dd><dt class="src"><a name="v:funInv" class="def">funInv</a> :: <a href="Agda-TypeChecking-Monad-Base.html#t:FunctionInverse">FunctionInverse</a></dt><dd class="doc empty">&nbsp;</dd><dt class="src"><a name="v:funMutual" class="def">funMutual</a> :: [<a href="Agda-Syntax-Abstract-Name.html#t:QName">QName</a>]</dt><dd class="doc"><p>Mutually recursive functions, <code>data</code>s and <code>record</code>s.
</p></dd><dt class="src"><a name="v:funAbstr" class="def">funAbstr</a> :: <a href="Agda-Syntax-Common.html#t:IsAbstract">IsAbstract</a></dt><dd class="doc empty">&nbsp;</dd><dt class="src"><a name="v:funDelayed" class="def">funDelayed</a> :: <a href="Agda-Syntax-Common.html#t:Delayed">Delayed</a></dt><dd class="doc"><p>Are the clauses of this definition delayed?
</p></dd><dt class="src"><a name="v:funProjection" class="def">funProjection</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (<a href="Agda-Syntax-Abstract-Name.html#t:QName">QName</a>, <a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Int.html#t:Int">Int</a>)</dt><dd class="doc"><p>Is it a record projection?
   If yes, then return the name of the record type and index of
   the record argument.  Start counting with 1, because 0 means that
   it is already applied to the record. (Can happen in module
   instantiation.) This information is used in the termination
   checker.
</p></dd><dt class="src"><a name="v:funStatic" class="def">funStatic</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></dt><dd class="doc"><p>Should calls to this function be normalised at compile-time?
</p></dd><dt class="src"><a name="v:funCopy" class="def">funCopy</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></dt><dd class="doc"><p>Has this function been created by a module
 instantiation?
</p></dd><dt class="src"><a name="v:funTerminates" class="def">funTerminates</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></dt><dd class="doc"><p>Has this function been termination checked?  Did it pass?
</p></dd></dl><div class="clear"></div></div></td></tr><tr><td class="src"><a name="v:Datatype" class="def">Datatype</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:dataPars" class="def">dataPars</a> :: <a href="Agda-Syntax-Common.html#t:Nat">Nat</a></dt><dd class="doc empty">&nbsp;</dd><dt class="src"><a name="v:dataIxs" class="def">dataIxs</a> :: <a href="Agda-Syntax-Common.html#t:Nat">Nat</a></dt><dd class="doc empty">&nbsp;</dd><dt class="src"><a name="v:dataInduction" class="def">dataInduction</a> :: <a href="Agda-Syntax-Common.html#t:Induction">Induction</a></dt><dd class="doc empty">&nbsp;</dd><dt class="src"><a name="v:dataClause" class="def">dataClause</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Agda-Syntax-Internal.html#t:Clause">Clause</a></dt><dd class="doc empty">&nbsp;</dd><dt class="src"><a name="v:dataCons" class="def">dataCons</a> :: [<a href="Agda-Syntax-Abstract-Name.html#t:QName">QName</a>]</dt><dd class="doc empty">&nbsp;</dd><dt class="src"><a name="v:dataSort" class="def">dataSort</a> :: <a href="Agda-Syntax-Internal.html#t:Sort">Sort</a></dt><dd class="doc empty">&nbsp;</dd><dt class="src"><a name="v:dataMutual" class="def">dataMutual</a> :: [<a href="Agda-Syntax-Abstract-Name.html#t:QName">QName</a>]</dt><dd class="doc"><p>Mutually recursive functions, <code>data</code>s and <code>record</code>s.
</p></dd><dt class="src"><a name="v:dataAbstr" class="def">dataAbstr</a> :: <a href="Agda-Syntax-Common.html#t:IsAbstract">IsAbstract</a></dt><dd class="doc empty">&nbsp;</dd></dl><div class="clear"></div></div></td></tr><tr><td class="src"><a name="v:Record" class="def">Record</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:recPars" class="def">recPars</a> :: <a href="Agda-Syntax-Common.html#t:Nat">Nat</a></dt><dd class="doc"><p>Number of parameters.
</p></dd><dt class="src"><a name="v:recClause" class="def">recClause</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Agda-Syntax-Internal.html#t:Clause">Clause</a></dt><dd class="doc empty">&nbsp;</dd><dt class="src"><a name="v:recCon" class="def">recCon</a> :: <a href="Agda-Syntax-Abstract-Name.html#t:QName">QName</a></dt><dd class="doc"><p>Constructor name.
</p></dd><dt class="src"><a name="v:recNamedCon" class="def">recNamedCon</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></dt><dd class="doc empty">&nbsp;</dd><dt class="src"><a name="v:recConType" class="def">recConType</a> :: <a href="Agda-Syntax-Internal.html#t:Type">Type</a></dt><dd class="doc"><p>The record constructor's type.
</p></dd><dt class="src"><a name="v:recFields" class="def">recFields</a> :: [<a href="Agda-Syntax-Common.html#t:Arg">Arg</a> <a href="Agda-Syntax-Abstract-Name.html#t:QName">QName</a>]</dt><dd class="doc empty">&nbsp;</dd><dt class="src"><a name="v:recTel" class="def">recTel</a> :: <a href="Agda-Syntax-Internal.html#t:Telescope">Telescope</a></dt><dd class="doc"><p>The record field telescope
</p></dd><dt class="src"><a name="v:recMutual" class="def">recMutual</a> :: [<a href="Agda-Syntax-Abstract-Name.html#t:QName">QName</a>]</dt><dd class="doc"><p>Mutually recursive functions, <code>data</code>s and <code>record</code>s.
</p></dd><dt class="src"><a name="v:recEtaEquality" class="def">recEtaEquality</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></dt><dd class="doc"><p>Eta-expand at this record type.  <code>False</code> for unguarded recursive records.
</p></dd><dt class="src"><a name="v:recInduction" class="def">recInduction</a> :: <a href="Agda-Syntax-Common.html#t:Induction">Induction</a></dt><dd class="doc"><p><code><a href="Agda-Syntax-Common.html#v:Inductive">Inductive</a></code> or <code>Coinductive</code>?  Matters only for recursive records.
</p></dd><dt class="src"><a name="v:recRecursive" class="def">recRecursive</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></dt><dd class="doc"><p>Recursive record.  Implies <code>recEtaEquality = False</code>.  Projections are not size-preserving.
</p></dd><dt class="src"><a name="v:recAbstr" class="def">recAbstr</a> :: <a href="Agda-Syntax-Common.html#t:IsAbstract">IsAbstract</a></dt><dd class="doc empty">&nbsp;</dd></dl><div class="clear"></div></div></td></tr><tr><td class="src"><a name="v:Constructor" class="def">Constructor</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:conPars" class="def">conPars</a> :: <a href="Agda-Syntax-Common.html#t:Nat">Nat</a></dt><dd class="doc empty">&nbsp;</dd><dt class="src"><a name="v:conSrcCon" class="def">conSrcCon</a> :: <a href="Agda-Syntax-Abstract-Name.html#t:QName">QName</a></dt><dd class="doc empty">&nbsp;</dd><dt class="src"><a name="v:conData" class="def">conData</a> :: <a href="Agda-Syntax-Abstract-Name.html#t:QName">QName</a></dt><dd class="doc empty">&nbsp;</dd><dt class="src"><a name="v:conAbstr" class="def">conAbstr</a> :: <a href="Agda-Syntax-Common.html#t:IsAbstract">IsAbstract</a></dt><dd class="doc empty">&nbsp;</dd><dt class="src"><a name="v:conInd" class="def">conInd</a> :: <a href="Agda-Syntax-Common.html#t:Induction">Induction</a></dt><dd class="doc"><p>Inductive or coinductive?
</p></dd></dl><div class="clear"></div></div></td></tr><tr><td class="src"><a name="v:Primitive" class="def">Primitive</a></td><td class="doc"><p>Primitive or builtin functions.
</p></td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><dl><dt class="src"><a name="v:primAbstr" class="def">primAbstr</a> :: <a href="Agda-Syntax-Common.html#t:IsAbstract">IsAbstract</a></dt><dd class="doc empty">&nbsp;</dd><dt class="src"><a name="v:primName" class="def">primName</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-String.html#t:String">String</a></dt><dd class="doc empty">&nbsp;</dd><dt class="src"><a name="v:primClauses" class="def">primClauses</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a> [<a href="Agda-Syntax-Internal.html#t:Clause">Clause</a>]</dt><dd class="doc"><p><code><a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Maybe.html#v:Nothing">Nothing</a></code> for primitive functions, <code><code><a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Maybe.html#v:Just">Just</a></code>
 something</code> for builtin functions.
</p></dd><dt class="src"><a name="v:primCompiled" class="def">primCompiled</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Agda-TypeChecking-CompiledClause.html#t:CompiledClauses">CompiledClauses</a></dt><dd class="doc"><p><code><a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Maybe.html#v:Nothing">Nothing</a></code> for primitive functions, <code><code><a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Maybe.html#v:Just">Just</a></code>
 something</code> for builtin functions.
</p></dd></dl><div class="clear"></div></div></td></tr></table></div><div class="subs instances"><p id="control.i:Defn" class="caption collapser" onclick="toggleSection('i:Defn')">Instances</p><div id="section.i:Defn" class="show"><table><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Text-Show.html#t:Show">Show</a> <a href="Agda-TypeChecking-Monad-Base.html#t:Defn">Defn</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Typeable-Internal.html#t:Typeable">Typeable</a> <a href="Agda-TypeChecking-Monad-Base.html#t:Defn">Defn</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Agda-TypeChecking-Substitute.html#t:Abstract">Abstract</a> <a href="Agda-TypeChecking-Monad-Base.html#t:Defn">Defn</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Agda-TypeChecking-Substitute.html#t:Apply">Apply</a> <a href="Agda-TypeChecking-Monad-Base.html#t:Defn">Defn</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Agda-TypeChecking-Reduce.html#t:InstantiateFull">InstantiateFull</a> <a href="Agda-TypeChecking-Monad-Base.html#t:Defn">Defn</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Agda-TypeChecking-Serialise.html#t:EmbPrj">EmbPrj</a> <a href="Agda-TypeChecking-Monad-Base.html#t:Defn">Defn</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Agda-TypeChecking-MetaVars-Occurs.html#t:Occurs">Occurs</a> <a href="Agda-TypeChecking-Monad-Base.html#t:Defn">Defn</a></td><td class="doc empty">&nbsp;</td></tr></table></div></div></div><div class="top"><p class="src"><a name="v:defIsRecord" class="def">defIsRecord</a> :: <a href="Agda-TypeChecking-Monad-Base.html#t:Defn">Defn</a> -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a><a href="src/Agda-TypeChecking-Monad-Base.html#defIsRecord" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:defIsDataOrRecord" class="def">defIsDataOrRecord</a> :: <a href="Agda-TypeChecking-Monad-Base.html#t:Defn">Defn</a> -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a><a href="src/Agda-TypeChecking-Monad-Base.html#defIsDataOrRecord" class="link">Source</a></p></div><div class="top"><p class="src"><span class="keyword">newtype</span>  <a name="t:Fields" class="def">Fields</a>  <a href="src/Agda-TypeChecking-Monad-Base.html#Fields" class="link">Source</a></p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:Fields" class="def">Fields</a> [(<a href="Agda-Syntax-Concrete-Name.html#t:Name">Name</a>, <a href="Agda-Syntax-Internal.html#t:Type">Type</a>)]</td><td class="doc empty">&nbsp;</td></tr></table></div><div class="subs instances"><p id="control.i:Fields" class="caption collapser" onclick="toggleSection('i:Fields')">Instances</p><div id="section.i:Fields" class="show"><table><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Typeable-Internal.html#t:Typeable">Typeable</a> <a href="Agda-TypeChecking-Monad-Base.html#t:Fields">Fields</a></td><td class="doc empty">&nbsp;</td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">data</span>  <a name="t:Reduced" class="def">Reduced</a> no yes <a href="src/Agda-TypeChecking-Monad-Base.html#Reduced" class="link">Source</a></p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:NoReduction" class="def">NoReduction</a> no</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:YesReduction" class="def">YesReduction</a> yes</td><td class="doc empty">&nbsp;</td></tr></table></div><div class="subs instances"><p id="control.i:Reduced" class="caption collapser" onclick="toggleSection('i:Reduced')">Instances</p><div id="section.i:Reduced" class="show"><table><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Typeable-Internal.html#t:Typeable2">Typeable2</a> <a href="Agda-TypeChecking-Monad-Base.html#t:Reduced">Reduced</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Control-Monad.html#t:Functor">Functor</a> (<a href="Agda-TypeChecking-Monad-Base.html#t:Reduced">Reduced</a> no)</td><td class="doc empty">&nbsp;</td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">data</span>  <a name="t:IsReduced" class="def">IsReduced</a>  <a href="src/Agda-TypeChecking-Monad-Base.html#IsReduced" class="link">Source</a></p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:NotReduced" class="def">NotReduced</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:Reduced" class="def">Reduced</a> (<a href="Agda-Syntax-Internal.html#t:Blocked">Blocked</a> <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Tuple.html#t:-40--41-">()</a>)</td><td class="doc empty">&nbsp;</td></tr></table></div></div><div class="top"><p class="src"><span class="keyword">data</span>  <a name="t:MaybeReduced" class="def">MaybeReduced</a> a <a href="src/Agda-TypeChecking-Monad-Base.html#MaybeReduced" class="link">Source</a></p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:MaybeRed" class="def">MaybeRed</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:isReduced" class="def">isReduced</a> :: <a href="Agda-TypeChecking-Monad-Base.html#t:IsReduced">IsReduced</a></dt><dd class="doc empty">&nbsp;</dd><dt class="src"><a name="v:ignoreReduced" class="def">ignoreReduced</a> :: 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:MaybeReduced" class="caption collapser" onclick="toggleSection('i:MaybeReduced')">Instances</p><div id="section.i:MaybeReduced" class="show"><table><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Control-Monad.html#t:Functor">Functor</a> <a href="Agda-TypeChecking-Monad-Base.html#t:MaybeReduced">MaybeReduced</a></td><td class="doc empty">&nbsp;</td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">type</span> <a name="t:MaybeReducedArgs" class="def">MaybeReducedArgs</a> = [<a href="Agda-TypeChecking-Monad-Base.html#t:MaybeReduced">MaybeReduced</a> (<a href="Agda-Syntax-Common.html#t:Arg">Arg</a> <a href="Agda-Syntax-Internal.html#t:Term">Term</a>)]<a href="src/Agda-TypeChecking-Monad-Base.html#MaybeReducedArgs" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:notReduced" class="def">notReduced</a> ::  a -&gt; <a href="Agda-TypeChecking-Monad-Base.html#t:MaybeReduced">MaybeReduced</a> a<a href="src/Agda-TypeChecking-Monad-Base.html#notReduced" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:reduced" class="def">reduced</a> :: <a href="Agda-Syntax-Internal.html#t:Blocked">Blocked</a> (<a href="Agda-Syntax-Common.html#t:Arg">Arg</a> <a href="Agda-Syntax-Internal.html#t:Term">Term</a>) -&gt; <a href="Agda-TypeChecking-Monad-Base.html#t:MaybeReduced">MaybeReduced</a> (<a href="Agda-Syntax-Common.html#t:Arg">Arg</a> <a href="Agda-Syntax-Internal.html#t:Term">Term</a>)<a href="src/Agda-TypeChecking-Monad-Base.html#reduced" class="link">Source</a></p></div><div class="top"><p class="src"><span class="keyword">data</span>  <a name="t:PrimFun" class="def">PrimFun</a>  <a href="src/Agda-TypeChecking-Monad-Base.html#PrimFun" class="link">Source</a></p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:PrimFun" class="def">PrimFun</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:primFunName" class="def">primFunName</a> :: <a href="Agda-Syntax-Abstract-Name.html#t:QName">QName</a></dt><dd class="doc empty">&nbsp;</dd><dt class="src"><a name="v:primFunArity" class="def">primFunArity</a> :: <a href="Agda-Syntax-Common.html#t:Arity">Arity</a></dt><dd class="doc empty">&nbsp;</dd><dt class="src"><a name="v:primFunImplementation" class="def">primFunImplementation</a> :: [<a href="Agda-Syntax-Common.html#t:Arg">Arg</a> <a href="Agda-Syntax-Internal.html#t:Term">Term</a>] -&gt; <a href="Agda-TypeChecking-Monad-Base.html#t:TCM">TCM</a> (<a href="Agda-TypeChecking-Monad-Base.html#t:Reduced">Reduced</a> <a href="Agda-TypeChecking-Monad-Base.html#t:MaybeReducedArgs">MaybeReducedArgs</a> <a href="Agda-Syntax-Internal.html#t:Term">Term</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:PrimFun" class="caption collapser" onclick="toggleSection('i:PrimFun')">Instances</p><div id="section.i:PrimFun" class="show"><table><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Typeable-Internal.html#t:Typeable">Typeable</a> <a href="Agda-TypeChecking-Monad-Base.html#t:PrimFun">PrimFun</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Agda-TypeChecking-Substitute.html#t:Abstract">Abstract</a> <a href="Agda-TypeChecking-Monad-Base.html#t:PrimFun">PrimFun</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Agda-TypeChecking-Substitute.html#t:Apply">Apply</a> <a href="Agda-TypeChecking-Monad-Base.html#t:PrimFun">PrimFun</a></td><td class="doc empty">&nbsp;</td></tr></table></div></div></div><div class="top"><p class="src"><a name="v:defClauses" class="def">defClauses</a> :: <a href="Agda-TypeChecking-Monad-Base.html#t:Definition">Definition</a> -&gt; [<a href="Agda-Syntax-Internal.html#t:Clause">Clause</a>]<a href="src/Agda-TypeChecking-Monad-Base.html#defClauses" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:defCompiled" class="def">defCompiled</a> :: <a href="Agda-TypeChecking-Monad-Base.html#t:Definition">Definition</a> -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Agda-TypeChecking-CompiledClause.html#t:CompiledClauses">CompiledClauses</a><a href="src/Agda-TypeChecking-Monad-Base.html#defCompiled" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:defJSDef" class="def">defJSDef</a> :: <a href="Agda-TypeChecking-Monad-Base.html#t:Definition">Definition</a> -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Agda-TypeChecking-Monad-Base.html#t:JSCode">JSCode</a><a href="src/Agda-TypeChecking-Monad-Base.html#defJSDef" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:defEpicDef" class="def">defEpicDef</a> :: <a href="Agda-TypeChecking-Monad-Base.html#t:Definition">Definition</a> -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Agda-TypeChecking-Monad-Base.html#t:EpicCode">EpicCode</a><a href="src/Agda-TypeChecking-Monad-Base.html#defEpicDef" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:defDelayed" class="def">defDelayed</a> :: <a href="Agda-TypeChecking-Monad-Base.html#t:Definition">Definition</a> -&gt; <a href="Agda-Syntax-Common.html#t:Delayed">Delayed</a><a href="src/Agda-TypeChecking-Monad-Base.html#defDelayed" class="link">Source</a></p><div class="doc"><p>Are the clauses of this definition delayed?
</p></div></div><div class="top"><p class="src"><a name="v:defCopy" class="def">defCopy</a> :: <a href="Agda-TypeChecking-Monad-Base.html#t:Definition">Definition</a> -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a><a href="src/Agda-TypeChecking-Monad-Base.html#defCopy" class="link">Source</a></p><div class="doc"><p>Is the definition just a copy created by a module instantiation?
</p></div></div><div class="top"><p class="src"><a name="v:defAbstract" class="def">defAbstract</a> :: <a href="Agda-TypeChecking-Monad-Base.html#t:Definition">Definition</a> -&gt; <a href="Agda-Syntax-Common.html#t:IsAbstract">IsAbstract</a><a href="src/Agda-TypeChecking-Monad-Base.html#defAbstract" class="link">Source</a></p></div><h2 id="g:10">Injectivity
</h2><div class="top"><p class="src"><span class="keyword">type</span> <a name="t:FunctionInverse" class="def">FunctionInverse</a> = <a href="Agda-TypeChecking-Monad-Base.html#t:FunctionInverse-39-">FunctionInverse'</a> <a href="Agda-Syntax-Internal.html#t:Clause">Clause</a><a href="src/Agda-TypeChecking-Monad-Base.html#FunctionInverse" class="link">Source</a></p></div><div class="top"><p class="src"><span class="keyword">data</span>  <a name="t:FunctionInverse-39-" class="def">FunctionInverse'</a> c <a href="src/Agda-TypeChecking-Monad-Base.html#FunctionInverse%27" class="link">Source</a></p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:NotInjective" class="def">NotInjective</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:Inverse" class="def">Inverse</a> (<a href="/usr/share/doc/ghc/html/libraries/containers-0.4.2.1/Data-Map.html#t:Map">Map</a> <a href="Agda-TypeChecking-Monad-Base.html#t:TermHead">TermHead</a> c)</td><td class="doc empty">&nbsp;</td></tr></table></div><div class="subs instances"><p id="control.i:FunctionInverse-39-" class="caption collapser" onclick="toggleSection('i:FunctionInverse-39-')">Instances</p><div id="section.i:FunctionInverse-39-" class="show"><table><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Control-Monad.html#t:Functor">Functor</a> <a href="Agda-TypeChecking-Monad-Base.html#t:FunctionInverse-39-">FunctionInverse'</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Typeable-Internal.html#t:Typeable1">Typeable1</a> <a href="Agda-TypeChecking-Monad-Base.html#t:FunctionInverse-39-">FunctionInverse'</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Agda-TypeChecking-Substitute.html#t:Abstract">Abstract</a> <a href="Agda-TypeChecking-Monad-Base.html#t:FunctionInverse">FunctionInverse</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Agda-TypeChecking-Substitute.html#t:Apply">Apply</a> <a href="Agda-TypeChecking-Monad-Base.html#t:FunctionInverse">FunctionInverse</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Agda-TypeChecking-DropArgs.html#t:DropArgs">DropArgs</a> <a href="Agda-TypeChecking-Monad-Base.html#t:FunctionInverse">FunctionInverse</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Agda-TypeChecking-Reduce.html#t:InstantiateFull">InstantiateFull</a> <a href="Agda-TypeChecking-Monad-Base.html#t:FunctionInverse">FunctionInverse</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Agda-TypeChecking-Serialise.html#t:EmbPrj">EmbPrj</a> <a href="Agda-TypeChecking-Monad-Base.html#t:FunctionInverse">FunctionInverse</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Text-Show.html#t:Show">Show</a> c =&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Text-Show.html#t:Show">Show</a> (<a href="Agda-TypeChecking-Monad-Base.html#t:FunctionInverse-39-">FunctionInverse'</a> c)</td><td class="doc empty">&nbsp;</td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">data</span>  <a name="t:TermHead" class="def">TermHead</a>  <a href="src/Agda-TypeChecking-Monad-Base.html#TermHead" class="link">Source</a></p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:SortHead" class="def">SortHead</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:PiHead" class="def">PiHead</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:ConHead" class="def">ConHead</a> <a href="Agda-Syntax-Abstract-Name.html#t:QName">QName</a></td><td class="doc empty">&nbsp;</td></tr></table></div><div class="subs instances"><p id="control.i:TermHead" class="caption collapser" onclick="toggleSection('i:TermHead')">Instances</p><div id="section.i:TermHead" class="show"><table><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Eq.html#t:Eq">Eq</a> <a href="Agda-TypeChecking-Monad-Base.html#t:TermHead">TermHead</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Ord.html#t:Ord">Ord</a> <a href="Agda-TypeChecking-Monad-Base.html#t:TermHead">TermHead</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Text-Show.html#t:Show">Show</a> <a href="Agda-TypeChecking-Monad-Base.html#t:TermHead">TermHead</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Typeable-Internal.html#t:Typeable">Typeable</a> <a href="Agda-TypeChecking-Monad-Base.html#t:TermHead">TermHead</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Agda-TypeChecking-Serialise.html#t:EmbPrj">EmbPrj</a> <a href="Agda-TypeChecking-Monad-Base.html#t:TermHead">TermHead</a></td><td class="doc empty">&nbsp;</td></tr></table></div></div></div><h2 id="g:11">Mutual blocks
</h2><div class="top"><p class="src"><span class="keyword">newtype</span>  <a name="t:MutualId" class="def">MutualId</a>  <a href="src/Agda-TypeChecking-Monad-Base.html#MutualId" class="link">Source</a></p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:MutId" class="def">MutId</a> <a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Int.html#t:Int32">Int32</a></td><td class="doc empty">&nbsp;</td></tr></table></div><div class="subs instances"><p id="control.i:MutualId" class="caption collapser" onclick="toggleSection('i:MutualId')">Instances</p><div id="section.i:MutualId" class="show"><table><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Eq.html#t:Eq">Eq</a> <a href="Agda-TypeChecking-Monad-Base.html#t:MutualId">MutualId</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Prelude.html#t:Num">Num</a> <a href="Agda-TypeChecking-Monad-Base.html#t:MutualId">MutualId</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Ord.html#t:Ord">Ord</a> <a href="Agda-TypeChecking-Monad-Base.html#t:MutualId">MutualId</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Text-Show.html#t:Show">Show</a> <a href="Agda-TypeChecking-Monad-Base.html#t:MutualId">MutualId</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Typeable-Internal.html#t:Typeable">Typeable</a> <a href="Agda-TypeChecking-Monad-Base.html#t:MutualId">MutualId</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Agda-TypeChecking-Serialise.html#t:EmbPrj">EmbPrj</a> <a href="Agda-TypeChecking-Monad-Base.html#t:MutualId">MutualId</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Agda-Utils-Fresh.html#t:HasFresh">HasFresh</a> <a href="Agda-TypeChecking-Monad-Base.html#t:MutualId">MutualId</a> <a href="Agda-TypeChecking-Monad-Base.html#t:FreshThings">FreshThings</a></td><td class="doc empty">&nbsp;</td></tr></table></div></div></div><h2 id="g:12">Statistics
</h2><div class="top"><p class="src"><span class="keyword">type</span> <a name="t:Statistics" class="def">Statistics</a> = <a href="/usr/share/doc/ghc/html/libraries/containers-0.4.2.1/Data-Map.html#t:Map">Map</a> <a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-String.html#t:String">String</a> <a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Prelude.html#t:Integer">Integer</a><a href="src/Agda-TypeChecking-Monad-Base.html#Statistics" class="link">Source</a></p></div><h2 id="g:13">Trace
</h2><div class="top"><p class="src"><span class="keyword">data</span>  <a name="t:Call" class="def">Call</a>  <a href="src/Agda-TypeChecking-Monad-Base.html#Call" class="link">Source</a></p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:CheckClause" class="def">CheckClause</a> <a href="Agda-Syntax-Internal.html#t:Type">Type</a> <a href="Agda-Syntax-Abstract.html#t:Clause">Clause</a> (<a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Agda-Syntax-Internal.html#t:Clause">Clause</a>)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><span class="keyword">forall</span> a . <a name="v:CheckPattern" class="def">CheckPattern</a> <a href="Agda-Syntax-Abstract.html#t:Pattern">Pattern</a> <a href="Agda-Syntax-Internal.html#t:Telescope">Telescope</a> <a href="Agda-Syntax-Internal.html#t:Type">Type</a> (<a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a> a)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:CheckLetBinding" class="def">CheckLetBinding</a> <a href="Agda-Syntax-Abstract.html#t:LetBinding">LetBinding</a> (<a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Tuple.html#t:-40--41-">()</a>)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:InferExpr" class="def">InferExpr</a> <a href="Agda-Syntax-Abstract.html#t:Expr">Expr</a> (<a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (<a href="Agda-Syntax-Internal.html#t:Term">Term</a>, <a href="Agda-Syntax-Internal.html#t:Type">Type</a>))</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:CheckExpr" class="def">CheckExpr</a> <a href="Agda-Syntax-Abstract.html#t:Expr">Expr</a> <a href="Agda-Syntax-Internal.html#t:Type">Type</a> (<a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Agda-Syntax-Internal.html#t:Term">Term</a>)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:CheckDotPattern" class="def">CheckDotPattern</a> <a href="Agda-Syntax-Abstract.html#t:Expr">Expr</a> <a href="Agda-Syntax-Internal.html#t:Term">Term</a> (<a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Agda-TypeChecking-Monad-Base.html#t:Constraints">Constraints</a>)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:CheckPatternShadowing" class="def">CheckPatternShadowing</a> <a href="Agda-Syntax-Abstract.html#t:Clause">Clause</a> (<a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Tuple.html#t:-40--41-">()</a>)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:IsTypeCall" class="def">IsTypeCall</a> <a href="Agda-Syntax-Abstract.html#t:Expr">Expr</a> <a href="Agda-Syntax-Internal.html#t:Sort">Sort</a> (<a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Agda-Syntax-Internal.html#t:Type">Type</a>)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:IsType_" class="def">IsType_</a> <a href="Agda-Syntax-Abstract.html#t:Expr">Expr</a> (<a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Agda-Syntax-Internal.html#t:Type">Type</a>)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:InferVar" class="def">InferVar</a> <a href="Agda-Syntax-Abstract-Name.html#t:Name">Name</a> (<a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (<a href="Agda-Syntax-Internal.html#t:Term">Term</a>, <a href="Agda-Syntax-Internal.html#t:Type">Type</a>))</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:InferDef" class="def">InferDef</a> <a href="Agda-Syntax-Position.html#t:Range">Range</a> <a href="Agda-Syntax-Abstract-Name.html#t:QName">QName</a> (<a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (<a href="Agda-Syntax-Internal.html#t:Term">Term</a>, <a href="Agda-Syntax-Internal.html#t:Type">Type</a>))</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:CheckArguments" class="def">CheckArguments</a> <a href="Agda-Syntax-Position.html#t:Range">Range</a> [<a href="Agda-Syntax-Common.html#t:NamedArg">NamedArg</a> <a href="Agda-Syntax-Abstract.html#t:Expr">Expr</a>] <a href="Agda-Syntax-Internal.html#t:Type">Type</a> <a href="Agda-Syntax-Internal.html#t:Type">Type</a> (<a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (<a href="Agda-Syntax-Internal.html#t:Args">Args</a>, <a href="Agda-Syntax-Internal.html#t:Type">Type</a>))</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:CheckDataDef" class="def">CheckDataDef</a> <a href="Agda-Syntax-Position.html#t:Range">Range</a> <a href="Agda-Syntax-Abstract-Name.html#t:Name">Name</a> [<a href="Agda-Syntax-Abstract.html#t:LamBinding">LamBinding</a>] [<a href="Agda-Syntax-Abstract.html#t:Constructor">Constructor</a>] (<a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Tuple.html#t:-40--41-">()</a>)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:CheckRecDef" class="def">CheckRecDef</a> <a href="Agda-Syntax-Position.html#t:Range">Range</a> <a href="Agda-Syntax-Abstract-Name.html#t:Name">Name</a> [<a href="Agda-Syntax-Abstract.html#t:LamBinding">LamBinding</a>] [<a href="Agda-Syntax-Abstract.html#t:Constructor">Constructor</a>] (<a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Tuple.html#t:-40--41-">()</a>)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:CheckConstructor" class="def">CheckConstructor</a> <a href="Agda-Syntax-Abstract-Name.html#t:QName">QName</a> <a href="Agda-Syntax-Internal.html#t:Telescope">Telescope</a> <a href="Agda-Syntax-Internal.html#t:Sort">Sort</a> <a href="Agda-Syntax-Abstract.html#t:Constructor">Constructor</a> (<a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Tuple.html#t:-40--41-">()</a>)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:CheckFunDef" class="def">CheckFunDef</a> <a href="Agda-Syntax-Position.html#t:Range">Range</a> <a href="Agda-Syntax-Abstract-Name.html#t:Name">Name</a> [<a href="Agda-Syntax-Abstract.html#t:Clause">Clause</a>] (<a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Tuple.html#t:-40--41-">()</a>)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:CheckPragma" class="def">CheckPragma</a> <a href="Agda-Syntax-Position.html#t:Range">Range</a> <a href="Agda-Syntax-Abstract.html#t:Pragma">Pragma</a> (<a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Tuple.html#t:-40--41-">()</a>)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:CheckPrimitive" class="def">CheckPrimitive</a> <a href="Agda-Syntax-Position.html#t:Range">Range</a> <a href="Agda-Syntax-Abstract-Name.html#t:Name">Name</a> <a href="Agda-Syntax-Abstract.html#t:Expr">Expr</a> (<a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Tuple.html#t:-40--41-">()</a>)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:CheckIsEmpty" class="def">CheckIsEmpty</a> <a href="Agda-Syntax-Position.html#t:Range">Range</a> <a href="Agda-Syntax-Internal.html#t:Type">Type</a> (<a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Tuple.html#t:-40--41-">()</a>)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:CheckWithFunctionType" class="def">CheckWithFunctionType</a> <a href="Agda-Syntax-Abstract.html#t:Expr">Expr</a> (<a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Tuple.html#t:-40--41-">()</a>)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:CheckSectionApplication" class="def">CheckSectionApplication</a> <a href="Agda-Syntax-Position.html#t:Range">Range</a> <a href="Agda-Syntax-Abstract-Name.html#t:ModuleName">ModuleName</a> <a href="Agda-Syntax-Abstract.html#t:ModuleApplication">ModuleApplication</a> (<a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Tuple.html#t:-40--41-">()</a>)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:ScopeCheckExpr" class="def">ScopeCheckExpr</a> <a href="Agda-Syntax-Concrete.html#t:Expr">Expr</a> (<a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Agda-Syntax-Abstract.html#t:Expr">Expr</a>)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:ScopeCheckDeclaration" class="def">ScopeCheckDeclaration</a> <a href="Agda-Syntax-Concrete-Definitions.html#t:NiceDeclaration">NiceDeclaration</a> (<a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a> [<a href="Agda-Syntax-Abstract.html#t:Declaration">Declaration</a>])</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:ScopeCheckLHS" class="def">ScopeCheckLHS</a> <a href="Agda-Syntax-Concrete-Name.html#t:Name">Name</a> <a href="Agda-Syntax-Concrete.html#t:Pattern">Pattern</a> (<a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Agda-Syntax-Abstract.html#t:LHS">LHS</a>)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><span class="keyword">forall</span> a . <a name="v:NoHighlighting" class="def">NoHighlighting</a> (<a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a> a)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><span class="keyword">forall</span> a . <a name="v:SetRange" class="def">SetRange</a> <a href="Agda-Syntax-Position.html#t:Range">Range</a> (<a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a> a)</td><td class="doc"><p>used by <code>setCurrentRange</code>
</p></td></tr></table></div><div class="subs instances"><p id="control.i:Call" class="caption collapser" onclick="toggleSection('i:Call')">Instances</p><div id="section.i:Call" class="show"><table><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Typeable-Internal.html#t:Typeable">Typeable</a> <a href="Agda-TypeChecking-Monad-Base.html#t:Call">Call</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Agda-Syntax-Position.html#t:HasRange">HasRange</a> <a href="Agda-TypeChecking-Monad-Base.html#t:Call">Call</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Agda-TypeChecking-Pretty.html#t:PrettyTCM">PrettyTCM</a> <a href="Agda-TypeChecking-Monad-Base.html#t:Call">Call</a></td><td class="doc empty">&nbsp;</td></tr></table></div></div></div><h2 id="g:14">Builtin things
</h2><div class="top"><p class="src"><span class="keyword">data</span>  <a name="t:BuiltinDescriptor" class="def">BuiltinDescriptor</a>  <a href="src/Agda-TypeChecking-Monad-Base.html#BuiltinDescriptor" class="link">Source</a></p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:BuiltinData" class="def">BuiltinData</a> (<a href="Agda-TypeChecking-Monad-Base.html#t:TCM">TCM</a> <a href="Agda-Syntax-Internal.html#t:Type">Type</a>) [<a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-String.html#t:String">String</a>]</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:BuiltinDataCons" class="def">BuiltinDataCons</a> (<a href="Agda-TypeChecking-Monad-Base.html#t:TCM">TCM</a> <a href="Agda-Syntax-Internal.html#t:Type">Type</a>)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:BuiltinPrim" class="def">BuiltinPrim</a> <a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-String.html#t:String">String</a> (<a href="Agda-Syntax-Internal.html#t:Term">Term</a> -&gt; <a href="Agda-TypeChecking-Monad-Base.html#t:TCM">TCM</a> <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Tuple.html#t:-40--41-">()</a>)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:BuiltinPostulate" class="def">BuiltinPostulate</a> <a href="Agda-Syntax-Common.html#t:Relevance">Relevance</a> (<a href="Agda-TypeChecking-Monad-Base.html#t:TCM">TCM</a> <a href="Agda-Syntax-Internal.html#t:Type">Type</a>)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:BuiltinUnknown" class="def">BuiltinUnknown</a> (<a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (<a href="Agda-TypeChecking-Monad-Base.html#t:TCM">TCM</a> <a href="Agda-Syntax-Internal.html#t:Type">Type</a>)) (<a href="Agda-Syntax-Internal.html#t:Term">Term</a> -&gt; <a href="Agda-TypeChecking-Monad-Base.html#t:TCM">TCM</a> <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Tuple.html#t:-40--41-">()</a>)</td><td class="doc empty">&nbsp;</td></tr></table></div></div><div class="top"><p class="src"><span class="keyword">data</span>  <a name="t:BuiltinInfo" class="def">BuiltinInfo</a>  <a href="src/Agda-TypeChecking-Monad-Base.html#BuiltinInfo" class="link">Source</a></p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:BuiltinInfo" class="def">BuiltinInfo</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:builtinName" class="def">builtinName</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-String.html#t:String">String</a></dt><dd class="doc empty">&nbsp;</dd><dt class="src"><a name="v:builtinDesc" class="def">builtinDesc</a> :: <a href="Agda-TypeChecking-Monad-Base.html#t:BuiltinDescriptor">BuiltinDescriptor</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"><span class="keyword">type</span> <a name="t:BuiltinThings" class="def">BuiltinThings</a> pf = <a href="/usr/share/doc/ghc/html/libraries/containers-0.4.2.1/Data-Map.html#t:Map">Map</a> <a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-String.html#t:String">String</a> (<a href="Agda-TypeChecking-Monad-Base.html#t:Builtin">Builtin</a> pf)<a href="src/Agda-TypeChecking-Monad-Base.html#BuiltinThings" class="link">Source</a></p></div><div class="top"><p class="src"><span class="keyword">data</span>  <a name="t:Builtin" class="def">Builtin</a> pf <a href="src/Agda-TypeChecking-Monad-Base.html#Builtin" class="link">Source</a></p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:Builtin" class="def">Builtin</a> <a href="Agda-Syntax-Internal.html#t:Term">Term</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:Prim" class="def">Prim</a> pf</td><td class="doc empty">&nbsp;</td></tr></table></div><div class="subs instances"><p id="control.i:Builtin" class="caption collapser" onclick="toggleSection('i:Builtin')">Instances</p><div id="section.i:Builtin" class="show"><table><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Control-Monad.html#t:Functor">Functor</a> <a href="Agda-TypeChecking-Monad-Base.html#t:Builtin">Builtin</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Typeable-Internal.html#t:Typeable1">Typeable1</a> <a href="Agda-TypeChecking-Monad-Base.html#t:Builtin">Builtin</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Foldable.html#t:Foldable">Foldable</a> <a href="Agda-TypeChecking-Monad-Base.html#t:Builtin">Builtin</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Traversable.html#t:Traversable">Traversable</a> <a href="Agda-TypeChecking-Monad-Base.html#t:Builtin">Builtin</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Text-Show.html#t:Show">Show</a> pf =&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Text-Show.html#t:Show">Show</a> (<a href="Agda-TypeChecking-Monad-Base.html#t:Builtin">Builtin</a> pf)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Agda-TypeChecking-Reduce.html#t:InstantiateFull">InstantiateFull</a> a =&gt; <a href="Agda-TypeChecking-Reduce.html#t:InstantiateFull">InstantiateFull</a> (<a href="Agda-TypeChecking-Monad-Base.html#t:Builtin">Builtin</a> a)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Agda-TypeChecking-Serialise.html#t:EmbPrj">EmbPrj</a> a =&gt; <a href="Agda-TypeChecking-Serialise.html#t:EmbPrj">EmbPrj</a> (<a href="Agda-TypeChecking-Monad-Base.html#t:Builtin">Builtin</a> a)</td><td class="doc empty">&nbsp;</td></tr></table></div></div></div><h1 id="g:15">Highlighting levels
</h1><div class="top"><p class="src"><span class="keyword">data</span>  <a name="t:HighlightingLevel" class="def">HighlightingLevel</a>  <a href="src/Agda-TypeChecking-Monad-Base.html#HighlightingLevel" class="link">Source</a></p><div class="doc"><p>How much highlighting should be sent to the user interface?
</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:None" class="def">None</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:NonInteractive" class="def">NonInteractive</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:Interactive" class="def">Interactive</a></td><td class="doc"><p>This includes both non-interactive highlighting and
 interactive highlighting of the expression that is currently
 being type-checked.
</p></td></tr></table></div><div class="subs instances"><p id="control.i:HighlightingLevel" class="caption collapser" onclick="toggleSection('i:HighlightingLevel')">Instances</p><div id="section.i:HighlightingLevel" class="show"><table><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Eq.html#t:Eq">Eq</a> <a href="Agda-TypeChecking-Monad-Base.html#t:HighlightingLevel">HighlightingLevel</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Ord.html#t:Ord">Ord</a> <a href="Agda-TypeChecking-Monad-Base.html#t:HighlightingLevel">HighlightingLevel</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Text-Read.html#t:Read">Read</a> <a href="Agda-TypeChecking-Monad-Base.html#t:HighlightingLevel">HighlightingLevel</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Text-Show.html#t:Show">Show</a> <a href="Agda-TypeChecking-Monad-Base.html#t:HighlightingLevel">HighlightingLevel</a></td><td class="doc empty">&nbsp;</td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">data</span>  <a name="t:HighlightingMethod" class="def">HighlightingMethod</a>  <a href="src/Agda-TypeChecking-Monad-Base.html#HighlightingMethod" class="link">Source</a></p><div class="doc"><p>How should highlighting be sent to the user interface?
</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:Direct" class="def">Direct</a></td><td class="doc"><p>Via stdout.
</p></td></tr><tr><td class="src"><a name="v:Indirect" class="def">Indirect</a></td><td class="doc"><p>Both via files and via stdout.
</p></td></tr></table></div><div class="subs instances"><p id="control.i:HighlightingMethod" class="caption collapser" onclick="toggleSection('i:HighlightingMethod')">Instances</p><div id="section.i:HighlightingMethod" class="show"><table><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Eq.html#t:Eq">Eq</a> <a href="Agda-TypeChecking-Monad-Base.html#t:HighlightingMethod">HighlightingMethod</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Text-Read.html#t:Read">Read</a> <a href="Agda-TypeChecking-Monad-Base.html#t:HighlightingMethod">HighlightingMethod</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Text-Show.html#t:Show">Show</a> <a href="Agda-TypeChecking-Monad-Base.html#t:HighlightingMethod">HighlightingMethod</a></td><td class="doc empty">&nbsp;</td></tr></table></div></div></div><div class="top"><p class="src"><a name="v:ifTopLevelAndHighlightingLevelIs" class="def">ifTopLevelAndHighlightingLevelIs</a> :: <a href="Agda-TypeChecking-Monad-Base.html#t:MonadTCM">MonadTCM</a> tcm =&gt; <a href="Agda-TypeChecking-Monad-Base.html#t:HighlightingLevel">HighlightingLevel</a> -&gt; tcm <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Tuple.html#t:-40--41-">()</a> -&gt; tcm <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Tuple.html#t:-40--41-">()</a><a href="src/Agda-TypeChecking-Monad-Base.html#ifTopLevelAndHighlightingLevelIs" class="link">Source</a></p><div class="doc"><p><code>ifTopLevelAndHighlightingLevelIs l m</code> runs <code>m</code> when we're
 type-checking the top-level module and the highlighting level is
 <em>at least</em> <code>l</code>.
</p></div></div><h1 id="g:16">Type checking environment
</h1><div class="top"><p class="src"><span class="keyword">data</span>  <a name="t:TCEnv" class="def">TCEnv</a>  <a href="src/Agda-TypeChecking-Monad-Base.html#TCEnv" class="link">Source</a></p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:TCEnv" class="def">TCEnv</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:envContext" class="def">envContext</a> :: <a href="Agda-TypeChecking-Monad-Base.html#t:Context">Context</a></dt><dd class="doc empty">&nbsp;</dd><dt class="src"><a name="v:envLetBindings" class="def">envLetBindings</a> :: <a href="Agda-TypeChecking-Monad-Base.html#t:LetBindings">LetBindings</a></dt><dd class="doc empty">&nbsp;</dd><dt class="src"><a name="v:envCurrentModule" class="def">envCurrentModule</a> :: <a href="Agda-Syntax-Abstract-Name.html#t:ModuleName">ModuleName</a></dt><dd class="doc empty">&nbsp;</dd><dt class="src"><a name="v:envCurrentPath" class="def">envCurrentPath</a> :: <a href="Agda-Utils-FileName.html#t:AbsolutePath">AbsolutePath</a></dt><dd class="doc"><p>The path to the file that is currently being
 type-checked.
</p></dd><dt class="src"><a name="v:envAnonymousModules" class="def">envAnonymousModules</a> :: [(<a href="Agda-Syntax-Abstract-Name.html#t:ModuleName">ModuleName</a>, <a href="Agda-Syntax-Common.html#t:Nat">Nat</a>)]</dt><dd class="doc"><p>anonymous modules and their number of free variables
</p></dd><dt class="src"><a name="v:envImportPath" class="def">envImportPath</a> :: [<a href="Agda-Syntax-Concrete-Name.html#t:TopLevelModuleName">TopLevelModuleName</a>]</dt><dd class="doc"><p>to detect import cycles
</p></dd><dt class="src"><a name="v:envMutualBlock" class="def">envMutualBlock</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Agda-TypeChecking-Monad-Base.html#t:MutualId">MutualId</a></dt><dd class="doc"><p>the current (if any) mutual block
</p></dd><dt class="src"><a name="v:envSolvingConstraints" class="def">envSolvingConstraints</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></dt><dd class="doc"><p>Are we currently in the process of solving active constraints?
</p></dd><dt class="src"><a name="v:envAssignMetas" class="def">envAssignMetas</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></dt><dd class="doc"><p>Are we allowed to assign metas?
</p></dd><dt class="src"><a name="v:envActiveProblems" class="def">envActiveProblems</a> :: [<a href="Agda-TypeChecking-Monad-Base.html#t:ProblemId">ProblemId</a>]</dt><dd class="doc empty">&nbsp;</dd><dt class="src"><a name="v:envAbstractMode" class="def">envAbstractMode</a> :: <a href="Agda-TypeChecking-Monad-Base.html#t:AbstractMode">AbstractMode</a></dt><dd class="doc"><p>When checking the typesignature of a public definition
   or the body of a non-abstract definition this is true.
   To prevent information about abstract things leaking
   outside the module.
</p></dd><dt class="src"><a name="v:envRelevance" class="def">envRelevance</a> :: <a href="Agda-Syntax-Common.html#t:Relevance">Relevance</a></dt><dd class="doc"><p>Are we checking an irrelevant argument? (=<code>Irrelevant</code>)
 Then top-level irrelevant declarations are enabled.
 Other value: <code>Relevant</code>, then only relevant decls. are avail.
</p></dd><dt class="src"><a name="v:envDisplayFormsEnabled" class="def">envDisplayFormsEnabled</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></dt><dd class="doc"><p>Sometimes we want to disable display forms.
</p></dd><dt class="src"><a name="v:envReifyInteractionPoints" class="def">envReifyInteractionPoints</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></dt><dd class="doc"><p>should we try to recover interaction points when reifying?
   disabled when generating types for with functions
</p></dd><dt class="src"><a name="v:envEtaContractImplicit" class="def">envEtaContractImplicit</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></dt><dd class="doc"><p>it's safe to eta contract implicit lambdas as long as we're
   not going to reify and retypecheck (like when doing with
   abstraction)
</p></dd><dt class="src"><a name="v:envRange" class="def">envRange</a> :: <a href="Agda-Syntax-Position.html#t:Range">Range</a></dt><dd class="doc empty">&nbsp;</dd><dt class="src"><a name="v:envHighlightingRange" class="def">envHighlightingRange</a> :: <a href="Agda-Syntax-Position.html#t:Range">Range</a></dt><dd class="doc"><p>Interactive highlighting uses this range rather
   than <code><a href="Agda-TypeChecking-Monad-Base.html#v:envRange">envRange</a></code>.
</p></dd><dt class="src"><a name="v:envCall" class="def">envCall</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (<a href="Agda-TypeChecking-Monad-Base.html#t:Closure">Closure</a> <a href="Agda-TypeChecking-Monad-Base.html#t:Call">Call</a>)</dt><dd class="doc"><p>what we're doing at the moment
</p></dd><dt class="src"><a name="v:envEmacs" class="def">envEmacs</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></dt><dd class="doc"><p>True when called from the Emacs mode.
</p></dd><dt class="src"><a name="v:envHighlightingLevel" class="def">envHighlightingLevel</a> :: <a href="Agda-TypeChecking-Monad-Base.html#t:HighlightingLevel">HighlightingLevel</a></dt><dd class="doc"><p>Set to <code><a href="Agda-TypeChecking-Monad-Base.html#v:None">None</a></code> when imported modules are
   type-checked.
</p></dd><dt class="src"><a name="v:envHighlightingMethod" class="def">envHighlightingMethod</a> :: <a href="Agda-TypeChecking-Monad-Base.html#t:HighlightingMethod">HighlightingMethod</a></dt><dd class="doc empty">&nbsp;</dd><dt class="src"><a name="v:envModuleNestingLevel" class="def">envModuleNestingLevel</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Prelude.html#t:Integer">Integer</a></dt><dd class="doc"><p>This number indicates how far away from the
   top-level module Agda has come when chasing
   modules. The level of a given module is not
   necessarily the same as the length, in the module
   dependency graph, of the shortest path from the
   top-level module; it depends on in which order
   Agda chooses to chase dependencies.
</p></dd><dt class="src"><a name="v:envAllowDestructiveUpdate" class="def">envAllowDestructiveUpdate</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></dt><dd class="doc"><p>When True, allows destructively shared updating terms
   during evaluation or unification. This is disabled when
   doing speculative checking, like solve instance metas, or
   when updating might break abstraction, as is the case when
   checking abstract definitions.
</p></dd></dl><div class="clear"></div></div></td></tr></table></div><div class="subs instances"><p id="control.i:TCEnv" class="caption collapser" onclick="toggleSection('i:TCEnv')">Instances</p><div id="section.i:TCEnv" class="show"><table><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Typeable-Internal.html#t:Typeable">Typeable</a> <a href="Agda-TypeChecking-Monad-Base.html#t:TCEnv">TCEnv</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/mtl-2.1.2/Control-Monad-Reader-Class.html#t:MonadReader">MonadReader</a> <a href="Agda-TypeChecking-Monad-Base.html#t:TCEnv">TCEnv</a> RecPatM</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/mtl-2.1.2/Control-Monad-Reader-Class.html#t:MonadReader">MonadReader</a> <a href="Agda-TypeChecking-Monad-Base.html#t:TCEnv">TCEnv</a> <a href="Agda-TypeChecking-Rules-LHS-Unify.html#t:Unify">Unify</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/transformers-0.3.0.0/Control-Monad-IO-Class.html#t:MonadIO">MonadIO</a> m =&gt; <a href="/usr/share/doc/ghc/html/libraries/mtl-2.1.2/Control-Monad-Reader-Class.html#t:MonadReader">MonadReader</a> <a href="Agda-TypeChecking-Monad-Base.html#t:TCEnv">TCEnv</a> (<a href="Agda-TypeChecking-Monad-Base.html#t:TCMT">TCMT</a> m)</td><td class="doc empty">&nbsp;</td></tr></table></div></div></div><div class="top"><p class="src"><a name="v:initEnv" class="def">initEnv</a> :: <a href="Agda-TypeChecking-Monad-Base.html#t:TCEnv">TCEnv</a><a href="src/Agda-TypeChecking-Monad-Base.html#initEnv" class="link">Source</a></p></div><h2 id="g:17">Context
</h2><div class="top"><p class="src"><span class="keyword">type</span> <a name="t:Context" class="def">Context</a> = [<a href="Agda-TypeChecking-Monad-Base.html#t:ContextEntry">ContextEntry</a>]<a href="src/Agda-TypeChecking-Monad-Base.html#Context" class="link">Source</a></p><div class="doc"><p>The <code>Context</code> is a stack of <code><a href="Agda-TypeChecking-Monad-Base.html#t:ContextEntry">ContextEntry</a></code>s.
</p></div></div><div class="top"><p class="src"><span class="keyword">data</span>  <a name="t:ContextEntry" class="def">ContextEntry</a>  <a href="src/Agda-TypeChecking-Monad-Base.html#ContextEntry" class="link">Source</a></p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:Ctx" class="def">Ctx</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:ctxId" class="def">ctxId</a> :: <a href="Agda-TypeChecking-Monad-Base.html#t:CtxId">CtxId</a></dt><dd class="doc empty">&nbsp;</dd><dt class="src"><a name="v:ctxEntry" class="def">ctxEntry</a> :: <a href="Agda-Syntax-Common.html#t:Dom">Dom</a> (<a href="Agda-Syntax-Abstract-Name.html#t:Name">Name</a>, <a href="Agda-Syntax-Internal.html#t:Type">Type</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:ContextEntry" class="caption collapser" onclick="toggleSection('i:ContextEntry')">Instances</p><div id="section.i:ContextEntry" class="show"><table><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Typeable-Internal.html#t:Typeable">Typeable</a> <a href="Agda-TypeChecking-Monad-Base.html#t:ContextEntry">ContextEntry</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Agda-TypeChecking-Pretty.html#t:PrettyTCM">PrettyTCM</a> <a href="Agda-TypeChecking-Monad-Base.html#t:Context">Context</a></td><td class="doc empty">&nbsp;</td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">newtype</span>  <a name="t:CtxId" class="def">CtxId</a>  <a href="src/Agda-TypeChecking-Monad-Base.html#CtxId" class="link">Source</a></p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:CtxId" class="def">CtxId</a> <a href="Agda-Syntax-Common.html#t:Nat">Nat</a></td><td class="doc empty">&nbsp;</td></tr></table></div><div class="subs instances"><p id="control.i:CtxId" class="caption collapser" onclick="toggleSection('i:CtxId')">Instances</p><div id="section.i:CtxId" class="show"><table><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Prelude.html#t:Enum">Enum</a> <a href="Agda-TypeChecking-Monad-Base.html#t:CtxId">CtxId</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Eq.html#t:Eq">Eq</a> <a href="Agda-TypeChecking-Monad-Base.html#t:CtxId">CtxId</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Prelude.html#t:Integral">Integral</a> <a href="Agda-TypeChecking-Monad-Base.html#t:CtxId">CtxId</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Prelude.html#t:Num">Num</a> <a href="Agda-TypeChecking-Monad-Base.html#t:CtxId">CtxId</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Ord.html#t:Ord">Ord</a> <a href="Agda-TypeChecking-Monad-Base.html#t:CtxId">CtxId</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Prelude.html#t:Real">Real</a> <a href="Agda-TypeChecking-Monad-Base.html#t:CtxId">CtxId</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Text-Show.html#t:Show">Show</a> <a href="Agda-TypeChecking-Monad-Base.html#t:CtxId">CtxId</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Typeable-Internal.html#t:Typeable">Typeable</a> <a href="Agda-TypeChecking-Monad-Base.html#t:CtxId">CtxId</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Agda-TypeChecking-Serialise.html#t:EmbPrj">EmbPrj</a> <a href="Agda-TypeChecking-Monad-Base.html#t:CtxId">CtxId</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Agda-Utils-Fresh.html#t:HasFresh">HasFresh</a> <a href="Agda-TypeChecking-Monad-Base.html#t:CtxId">CtxId</a> <a href="Agda-TypeChecking-Monad-Base.html#t:FreshThings">FreshThings</a></td><td class="doc empty">&nbsp;</td></tr></table></div></div></div><h2 id="g:18">Let bindings
</h2><div class="top"><p class="src"><span class="keyword">type</span> <a name="t:LetBindings" class="def">LetBindings</a> = <a href="/usr/share/doc/ghc/html/libraries/containers-0.4.2.1/Data-Map.html#t:Map">Map</a> <a href="Agda-Syntax-Abstract-Name.html#t:Name">Name</a> (<a href="Agda-TypeChecking-Monad-Base.html#t:Open">Open</a> (<a href="Agda-Syntax-Internal.html#t:Term">Term</a>, <a href="Agda-Syntax-Common.html#t:Dom">Dom</a> <a href="Agda-Syntax-Internal.html#t:Type">Type</a>))<a href="src/Agda-TypeChecking-Monad-Base.html#LetBindings" class="link">Source</a></p></div><h2 id="g:19">Abstract mode
</h2><div class="top"><p class="src"><span class="keyword">data</span>  <a name="t:AbstractMode" class="def">AbstractMode</a>  <a href="src/Agda-TypeChecking-Monad-Base.html#AbstractMode" class="link">Source</a></p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:AbstractMode" class="def">AbstractMode</a></td><td class="doc"><p>abstract things in the current module can be accessed
</p></td></tr><tr><td class="src"><a name="v:ConcreteMode" class="def">ConcreteMode</a></td><td class="doc"><p>no abstract things can be accessed
</p></td></tr><tr><td class="src"><a name="v:IgnoreAbstractMode" class="def">IgnoreAbstractMode</a></td><td class="doc"><p>all abstract things can be accessed
</p></td></tr></table></div><div class="subs instances"><p id="control.i:AbstractMode" class="caption collapser" onclick="toggleSection('i:AbstractMode')">Instances</p><div id="section.i:AbstractMode" class="show"><table><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Typeable-Internal.html#t:Typeable">Typeable</a> <a href="Agda-TypeChecking-Monad-Base.html#t:AbstractMode">AbstractMode</a></td><td class="doc empty">&nbsp;</td></tr></table></div></div></div><h2 id="g:20">Insertion of implicit arguments
</h2><div class="top"><p class="src"><span class="keyword">data</span>  <a name="t:ExpandHidden" class="def">ExpandHidden</a>  <a href="src/Agda-TypeChecking-Monad-Base.html#ExpandHidden" class="link">Source</a></p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:ExpandLast" class="def">ExpandLast</a></td><td class="doc"><p>Add implicit arguments in the end until type is no longer hidden <code><a href="Agda-Syntax-Internal.html#v:Pi">Pi</a></code>.
</p></td></tr><tr><td class="src"><a name="v:DontExpandLast" class="def">DontExpandLast</a></td><td class="doc"><p>Do not append implicit arguments.
</p></td></tr></table></div></div><div class="top"><p class="src"><span class="keyword">data</span>  <a name="t:ExpandInstances" class="def">ExpandInstances</a>  <a href="src/Agda-TypeChecking-Monad-Base.html#ExpandInstances" class="link">Source</a></p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:ExpandInstanceArguments" class="def">ExpandInstanceArguments</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:DontExpandInstanceArguments" class="def">DontExpandInstanceArguments</a></td><td class="doc empty">&nbsp;</td></tr></table></div><div class="subs instances"><p id="control.i:ExpandInstances" class="caption collapser" onclick="toggleSection('i:ExpandInstances')">Instances</p><div id="section.i:ExpandInstances" class="show"><table><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Eq.html#t:Eq">Eq</a> <a href="Agda-TypeChecking-Monad-Base.html#t:ExpandInstances">ExpandInstances</a></td><td class="doc empty">&nbsp;</td></tr></table></div></div></div><h1 id="g:21">Type checking errors
</h1><div class="top"><p class="src"><span class="keyword">data</span>  <a name="t:Occ" class="def">Occ</a>  <a href="src/Agda-TypeChecking-Monad-Base.html#Occ" class="link">Source</a></p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:OccCon" class="def">OccCon</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:occDatatype" class="def">occDatatype</a> :: <a href="Agda-Syntax-Abstract-Name.html#t:QName">QName</a></dt><dd class="doc empty">&nbsp;</dd><dt class="src"><a name="v:occConstructor" class="def">occConstructor</a> :: <a href="Agda-Syntax-Abstract-Name.html#t:QName">QName</a></dt><dd class="doc empty">&nbsp;</dd><dt class="src"><a name="v:occPosition" class="def">occPosition</a> :: <a href="Agda-TypeChecking-Monad-Base.html#t:OccPos">OccPos</a></dt><dd class="doc empty">&nbsp;</dd></dl><div class="clear"></div></div></td></tr><tr><td class="src"><a name="v:OccClause" class="def">OccClause</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:occFunction" class="def">occFunction</a> :: <a href="Agda-Syntax-Abstract-Name.html#t:QName">QName</a></dt><dd class="doc empty">&nbsp;</dd><dt class="src"><a name="v:occClause" class="def">occClause</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Int.html#t:Int">Int</a></dt><dd class="doc empty">&nbsp;</dd><dt class="src"><a name="v:occPosition" class="def">occPosition</a> :: <a href="Agda-TypeChecking-Monad-Base.html#t:OccPos">OccPos</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:Occ" class="caption collapser" onclick="toggleSection('i:Occ')">Instances</p><div id="section.i:Occ" class="show"><table><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Text-Show.html#t:Show">Show</a> <a href="Agda-TypeChecking-Monad-Base.html#t:Occ">Occ</a></td><td class="doc empty">&nbsp;</td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">data</span>  <a name="t:OccPos" class="def">OccPos</a>  <a href="src/Agda-TypeChecking-Monad-Base.html#OccPos" class="link">Source</a></p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:NonPositively" class="def">NonPositively</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:ArgumentTo" class="def">ArgumentTo</a> <a href="Agda-Syntax-Common.html#t:Nat">Nat</a> <a href="Agda-Syntax-Abstract-Name.html#t:QName">QName</a></td><td class="doc empty">&nbsp;</td></tr></table></div><div class="subs instances"><p id="control.i:OccPos" class="caption collapser" onclick="toggleSection('i:OccPos')">Instances</p><div id="section.i:OccPos" class="show"><table><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Text-Show.html#t:Show">Show</a> <a href="Agda-TypeChecking-Monad-Base.html#t:OccPos">OccPos</a></td><td class="doc empty">&nbsp;</td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">data</span>  <a name="t:CallInfo" class="def">CallInfo</a>  <a href="src/Agda-TypeChecking-Monad-Base.html#CallInfo" class="link">Source</a></p><div class="doc"><p>Information about a call.
</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:CallInfo" class="def">CallInfo</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:callInfoRange" class="def">callInfoRange</a> :: <a href="Agda-Syntax-Position.html#t:Range">Range</a></dt><dd class="doc"><p>Range of the head identifier.
</p></dd><dt class="src"><a name="v:callInfoCall" class="def">callInfoCall</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-String.html#t:String">String</a></dt><dd class="doc"><p>Formatted representation of the call.
</p><p>(<code><a href="/usr/share/doc/ghc/html/libraries/pretty-1.1.1.0/Text-PrettyPrint.html#t:Doc">Doc</a></code> would perhaps be better here, but <code><a href="/usr/share/doc/ghc/html/libraries/pretty-1.1.1.0/Text-PrettyPrint.html#t:Doc">Doc</a></code> doesn't come
 with an <code><a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Ord.html#t:Ord">Ord</a></code> instance.)
</p></dd></dl><div class="clear"></div></div></td></tr></table></div><div class="subs instances"><p id="control.i:CallInfo" class="caption collapser" onclick="toggleSection('i:CallInfo')">Instances</p><div id="section.i:CallInfo" class="show"><table><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Eq.html#t:Eq">Eq</a> <a href="Agda-TypeChecking-Monad-Base.html#t:CallInfo">CallInfo</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Ord.html#t:Ord">Ord</a> <a href="Agda-TypeChecking-Monad-Base.html#t:CallInfo">CallInfo</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Text-Show.html#t:Show">Show</a> <a href="Agda-TypeChecking-Monad-Base.html#t:CallInfo">CallInfo</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Typeable-Internal.html#t:Typeable">Typeable</a> <a href="Agda-TypeChecking-Monad-Base.html#t:CallInfo">CallInfo</a></td><td class="doc empty">&nbsp;</td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">data</span>  <a name="t:TerminationError" class="def">TerminationError</a>  <a href="src/Agda-TypeChecking-Monad-Base.html#TerminationError" class="link">Source</a></p><div class="doc"><p>Information about a mutual block which did not pass the
 termination checker.
</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:TerminationError" class="def">TerminationError</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:termErrFunctions" class="def">termErrFunctions</a> :: [<a href="Agda-Syntax-Abstract-Name.html#t:QName">QName</a>]</dt><dd class="doc"><p>The functions which failed to check. (May not include
 automatically generated functions.)
</p></dd><dt class="src"><a name="v:termErrCalls" class="def">termErrCalls</a> :: [<a href="Agda-TypeChecking-Monad-Base.html#t:CallInfo">CallInfo</a>]</dt><dd class="doc"><p>The problematic call sites.
</p></dd></dl><div class="clear"></div></div></td></tr></table></div><div class="subs instances"><p id="control.i:TerminationError" class="caption collapser" onclick="toggleSection('i:TerminationError')">Instances</p><div id="section.i:TerminationError" class="show"><table><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Eq.html#t:Eq">Eq</a> <a href="Agda-TypeChecking-Monad-Base.html#t:TerminationError">TerminationError</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Text-Show.html#t:Show">Show</a> <a href="Agda-TypeChecking-Monad-Base.html#t:TerminationError">TerminationError</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Typeable-Internal.html#t:Typeable">Typeable</a> <a href="Agda-TypeChecking-Monad-Base.html#t:TerminationError">TerminationError</a></td><td class="doc empty">&nbsp;</td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">data</span>  <a name="t:TypeError" class="def">TypeError</a>  <a href="src/Agda-TypeChecking-Monad-Base.html#TypeError" class="link">Source</a></p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:InternalError" class="def">InternalError</a> <a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-String.html#t:String">String</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:NotImplemented" class="def">NotImplemented</a> <a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-String.html#t:String">String</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:NotSupported" class="def">NotSupported</a> <a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-String.html#t:String">String</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:CompilationError" class="def">CompilationError</a> <a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-String.html#t:String">String</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:TerminationCheckFailed" class="def">TerminationCheckFailed</a> [<a href="Agda-TypeChecking-Monad-Base.html#t:TerminationError">TerminationError</a>]</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:PropMustBeSingleton" class="def">PropMustBeSingleton</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:DataMustEndInSort" class="def">DataMustEndInSort</a> <a href="Agda-Syntax-Internal.html#t:Term">Term</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:ShouldEndInApplicationOfTheDatatype" class="def">ShouldEndInApplicationOfTheDatatype</a> <a href="Agda-Syntax-Internal.html#t:Type">Type</a></td><td class="doc"><p>The target of a constructor isn't an application of its
 datatype. The <code><a href="Agda-Syntax-Internal.html#t:Type">Type</a></code> records what it does target.
</p></td></tr><tr><td class="src"><a name="v:ShouldBeAppliedToTheDatatypeParameters" class="def">ShouldBeAppliedToTheDatatypeParameters</a> <a href="Agda-Syntax-Internal.html#t:Term">Term</a> <a href="Agda-Syntax-Internal.html#t:Term">Term</a></td><td class="doc"><p>The target of a constructor isn't its datatype applied to
	 something that isn't the parameters. First term is the correct
	 target and the second term is the actual target.
</p></td></tr><tr><td class="src"><a name="v:ShouldBeApplicationOf" class="def">ShouldBeApplicationOf</a> <a href="Agda-Syntax-Internal.html#t:Type">Type</a> <a href="Agda-Syntax-Abstract-Name.html#t:QName">QName</a></td><td class="doc"><p>Expected a type to be an application of a particular datatype.
</p></td></tr><tr><td class="src"><a name="v:ConstructorPatternInWrongDatatype" class="def">ConstructorPatternInWrongDatatype</a> <a href="Agda-Syntax-Abstract-Name.html#t:QName">QName</a> <a href="Agda-Syntax-Abstract-Name.html#t:QName">QName</a></td><td class="doc"><p>constructor, datatype
</p></td></tr><tr><td class="src"><a name="v:IndicesNotConstructorApplications" class="def">IndicesNotConstructorApplications</a> [<a href="Agda-Syntax-Common.html#t:Arg">Arg</a> <a href="Agda-Syntax-Internal.html#t:Term">Term</a>]</td><td class="doc"><p>Indices.
</p></td></tr><tr><td class="src"><a name="v:IndexVariablesNotDistinct" class="def">IndexVariablesNotDistinct</a> [<a href="Agda-Syntax-Common.html#t:Nat">Nat</a>] [<a href="Agda-Syntax-Common.html#t:Arg">Arg</a> <a href="Agda-Syntax-Internal.html#t:Term">Term</a>]</td><td class="doc"><p>Variables, indices.
</p></td></tr><tr><td class="src"><a name="v:IndicesFreeInParameters" class="def">IndicesFreeInParameters</a> [<a href="Agda-Syntax-Common.html#t:Nat">Nat</a>] [<a href="Agda-Syntax-Common.html#t:Arg">Arg</a> <a href="Agda-Syntax-Internal.html#t:Term">Term</a>] [<a href="Agda-Syntax-Common.html#t:Arg">Arg</a> <a href="Agda-Syntax-Internal.html#t:Term">Term</a>]</td><td class="doc"><p>Indices (variables), index expressions (with
 constructors applied to reconstructed parameters),
 parameters.
</p></td></tr><tr><td class="src"><a name="v:DoesNotConstructAnElementOf" class="def">DoesNotConstructAnElementOf</a> <a href="Agda-Syntax-Abstract-Name.html#t:QName">QName</a> <a href="Agda-Syntax-Internal.html#t:Term">Term</a></td><td class="doc"><p>constructor, type
</p></td></tr><tr><td class="src"><a name="v:DifferentArities" class="def">DifferentArities</a></td><td class="doc"><p>Varying number of arguments for a function.
</p></td></tr><tr><td class="src"><a name="v:WrongHidingInLHS" class="def">WrongHidingInLHS</a> <a href="Agda-Syntax-Internal.html#t:Type">Type</a></td><td class="doc"><p>The left hand side of a function definition has a hidden argument
	 where a non-hidden was expected.
</p></td></tr><tr><td class="src"><a name="v:WrongHidingInLambda" class="def">WrongHidingInLambda</a> <a href="Agda-Syntax-Internal.html#t:Type">Type</a></td><td class="doc"><p>Expected a non-hidden function and found a hidden lambda.
</p></td></tr><tr><td class="src"><a name="v:WrongHidingInApplication" class="def">WrongHidingInApplication</a> <a href="Agda-Syntax-Internal.html#t:Type">Type</a></td><td class="doc"><p>A function is applied to a hidden argument where a non-hidden was expected.
</p></td></tr><tr><td class="src"><a name="v:WrongIrrelevanceInLambda" class="def">WrongIrrelevanceInLambda</a> <a href="Agda-Syntax-Internal.html#t:Type">Type</a></td><td class="doc"><p>Expected a relevant function and found an irrelevant lambda.
</p></td></tr><tr><td class="src"><a name="v:NotInductive" class="def">NotInductive</a> <a href="Agda-Syntax-Internal.html#t:Term">Term</a></td><td class="doc"><p>The term does not correspond to an inductive data type.
</p></td></tr><tr><td class="src"><a name="v:UninstantiatedDotPattern" class="def">UninstantiatedDotPattern</a> <a href="Agda-Syntax-Abstract.html#t:Expr">Expr</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:IlltypedPattern" class="def">IlltypedPattern</a> <a href="Agda-Syntax-Abstract.html#t:Pattern">Pattern</a> <a href="Agda-Syntax-Internal.html#t:Type">Type</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:TooManyArgumentsInLHS" class="def">TooManyArgumentsInLHS</a> <a href="Agda-Syntax-Internal.html#t:Type">Type</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:WrongNumberOfConstructorArguments" class="def">WrongNumberOfConstructorArguments</a> <a href="Agda-Syntax-Abstract-Name.html#t:QName">QName</a> <a href="Agda-Syntax-Common.html#t:Nat">Nat</a> <a href="Agda-Syntax-Common.html#t:Nat">Nat</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:ShouldBeEmpty" class="def">ShouldBeEmpty</a> <a href="Agda-Syntax-Internal.html#t:Type">Type</a> [<a href="Agda-Syntax-Internal.html#t:Pattern">Pattern</a>]</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:ShouldBeASort" class="def">ShouldBeASort</a> <a href="Agda-Syntax-Internal.html#t:Type">Type</a></td><td class="doc"><p>The given type should have been a sort.
</p></td></tr><tr><td class="src"><a name="v:ShouldBePi" class="def">ShouldBePi</a> <a href="Agda-Syntax-Internal.html#t:Type">Type</a></td><td class="doc"><p>The given type should have been a pi.
</p></td></tr><tr><td class="src"><a name="v:ShouldBeRecordType" class="def">ShouldBeRecordType</a> <a href="Agda-Syntax-Internal.html#t:Type">Type</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:ShouldBeRecordPattern" class="def">ShouldBeRecordPattern</a> <a href="Agda-Syntax-Internal.html#t:Pattern">Pattern</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:NotAProperTerm" class="def">NotAProperTerm</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:SetOmegaNotValidType" class="def">SetOmegaNotValidType</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:SplitOnIrrelevant" class="def">SplitOnIrrelevant</a> <a href="Agda-Syntax-Abstract.html#t:Pattern">Pattern</a> (<a href="Agda-Syntax-Common.html#t:Dom">Dom</a> <a href="Agda-Syntax-Internal.html#t:Type">Type</a>)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:DefinitionIsIrrelevant" class="def">DefinitionIsIrrelevant</a> <a href="Agda-Syntax-Abstract-Name.html#t:QName">QName</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:VariableIsIrrelevant" class="def">VariableIsIrrelevant</a> <a href="Agda-Syntax-Abstract-Name.html#t:Name">Name</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:UnequalLevel" class="def">UnequalLevel</a> <a href="Agda-TypeChecking-Monad-Base.html#t:Comparison">Comparison</a> <a href="Agda-Syntax-Internal.html#t:Term">Term</a> <a href="Agda-Syntax-Internal.html#t:Term">Term</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:UnequalTerms" class="def">UnequalTerms</a> <a href="Agda-TypeChecking-Monad-Base.html#t:Comparison">Comparison</a> <a href="Agda-Syntax-Internal.html#t:Term">Term</a> <a href="Agda-Syntax-Internal.html#t:Term">Term</a> <a href="Agda-Syntax-Internal.html#t:Type">Type</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:UnequalTypes" class="def">UnequalTypes</a> <a href="Agda-TypeChecking-Monad-Base.html#t:Comparison">Comparison</a> <a href="Agda-Syntax-Internal.html#t:Type">Type</a> <a href="Agda-Syntax-Internal.html#t:Type">Type</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:UnequalTelescopes" class="def">UnequalTelescopes</a> <a href="Agda-TypeChecking-Monad-Base.html#t:Comparison">Comparison</a> <a href="Agda-Syntax-Internal.html#t:Telescope">Telescope</a> <a href="Agda-Syntax-Internal.html#t:Telescope">Telescope</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:UnequalRelevance" class="def">UnequalRelevance</a> <a href="Agda-TypeChecking-Monad-Base.html#t:Comparison">Comparison</a> <a href="Agda-Syntax-Internal.html#t:Term">Term</a> <a href="Agda-Syntax-Internal.html#t:Term">Term</a></td><td class="doc"><p>The two function types have different relevance.
</p></td></tr><tr><td class="src"><a name="v:UnequalHiding" class="def">UnequalHiding</a> <a href="Agda-Syntax-Internal.html#t:Term">Term</a> <a href="Agda-Syntax-Internal.html#t:Term">Term</a></td><td class="doc"><p>The two function types have different hiding.
</p></td></tr><tr><td class="src"><a name="v:UnequalSorts" class="def">UnequalSorts</a> <a href="Agda-Syntax-Internal.html#t:Sort">Sort</a> <a href="Agda-Syntax-Internal.html#t:Sort">Sort</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:UnequalBecauseOfUniverseConflict" class="def">UnequalBecauseOfUniverseConflict</a> <a href="Agda-TypeChecking-Monad-Base.html#t:Comparison">Comparison</a> <a href="Agda-Syntax-Internal.html#t:Term">Term</a> <a href="Agda-Syntax-Internal.html#t:Term">Term</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:HeterogeneousEquality" class="def">HeterogeneousEquality</a> <a href="Agda-Syntax-Internal.html#t:Term">Term</a> <a href="Agda-Syntax-Internal.html#t:Type">Type</a> <a href="Agda-Syntax-Internal.html#t:Term">Term</a> <a href="Agda-Syntax-Internal.html#t:Type">Type</a></td><td class="doc"><p>We ended up with an equality constraint where the terms
   have different types.  This is not supported.
</p></td></tr><tr><td class="src"><a name="v:NotLeqSort" class="def">NotLeqSort</a> <a href="Agda-Syntax-Internal.html#t:Sort">Sort</a> <a href="Agda-Syntax-Internal.html#t:Sort">Sort</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:MetaCannotDependOn" class="def">MetaCannotDependOn</a> <a href="Agda-Syntax-Internal.html#t:MetaId">MetaId</a> [<a href="Agda-Syntax-Common.html#t:Nat">Nat</a>] <a href="Agda-Syntax-Common.html#t:Nat">Nat</a></td><td class="doc"><p>The arguments are the meta variable, the parameters it can
	 depend on and the paratemeter that it wants to depend on.
</p></td></tr><tr><td class="src"><a name="v:MetaOccursInItself" class="def">MetaOccursInItself</a> <a href="Agda-Syntax-Internal.html#t:MetaId">MetaId</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:GenericError" class="def">GenericError</a> <a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-String.html#t:String">String</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:GenericDocError" class="def">GenericDocError</a> <a href="/usr/share/doc/ghc/html/libraries/pretty-1.1.1.0/Text-PrettyPrint.html#t:Doc">Doc</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:BuiltinMustBeConstructor" class="def">BuiltinMustBeConstructor</a> <a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-String.html#t:String">String</a> <a href="Agda-Syntax-Abstract.html#t:Expr">Expr</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:NoSuchBuiltinName" class="def">NoSuchBuiltinName</a> <a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-String.html#t:String">String</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:DuplicateBuiltinBinding" class="def">DuplicateBuiltinBinding</a> <a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-String.html#t:String">String</a> <a href="Agda-Syntax-Internal.html#t:Term">Term</a> <a href="Agda-Syntax-Internal.html#t:Term">Term</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:NoBindingForBuiltin" class="def">NoBindingForBuiltin</a> <a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-String.html#t:String">String</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:NoSuchPrimitiveFunction" class="def">NoSuchPrimitiveFunction</a> <a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-String.html#t:String">String</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:ShadowedModule" class="def">ShadowedModule</a> <a href="Agda-Syntax-Concrete-Name.html#t:Name">Name</a> [<a href="Agda-Syntax-Abstract-Name.html#t:ModuleName">ModuleName</a>]</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:BuiltinInParameterisedModule" class="def">BuiltinInParameterisedModule</a> <a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-String.html#t:String">String</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:NoRHSRequiresAbsurdPattern" class="def">NoRHSRequiresAbsurdPattern</a> [<a href="Agda-Syntax-Common.html#t:NamedArg">NamedArg</a> <a href="Agda-Syntax-Abstract.html#t:Pattern">Pattern</a>]</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:AbsurdPatternRequiresNoRHS" class="def">AbsurdPatternRequiresNoRHS</a> [<a href="Agda-Syntax-Common.html#t:NamedArg">NamedArg</a> <a href="Agda-Syntax-Abstract.html#t:Pattern">Pattern</a>]</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:TooFewFields" class="def">TooFewFields</a> <a href="Agda-Syntax-Abstract-Name.html#t:QName">QName</a> [<a href="Agda-Syntax-Concrete-Name.html#t:Name">Name</a>]</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:TooManyFields" class="def">TooManyFields</a> <a href="Agda-Syntax-Abstract-Name.html#t:QName">QName</a> [<a href="Agda-Syntax-Concrete-Name.html#t:Name">Name</a>]</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:DuplicateFields" class="def">DuplicateFields</a> [<a href="Agda-Syntax-Concrete-Name.html#t:Name">Name</a>]</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:DuplicateConstructors" class="def">DuplicateConstructors</a> [<a href="Agda-Syntax-Concrete-Name.html#t:Name">Name</a>]</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:UnexpectedWithPatterns" class="def">UnexpectedWithPatterns</a> [<a href="Agda-Syntax-Abstract.html#t:Pattern">Pattern</a>]</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:WithClausePatternMismatch" class="def">WithClausePatternMismatch</a> <a href="Agda-Syntax-Abstract.html#t:Pattern">Pattern</a> <a href="Agda-Syntax-Internal.html#t:Pattern">Pattern</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:FieldOutsideRecord" class="def">FieldOutsideRecord</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:ModuleArityMismatch" class="def">ModuleArityMismatch</a> <a href="Agda-Syntax-Abstract-Name.html#t:ModuleName">ModuleName</a> <a href="Agda-Syntax-Internal.html#t:Telescope">Telescope</a> [<a href="Agda-Syntax-Common.html#t:NamedArg">NamedArg</a> <a href="Agda-Syntax-Abstract.html#t:Expr">Expr</a>]</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:IncompletePatternMatching" class="def">IncompletePatternMatching</a> <a href="Agda-Syntax-Internal.html#t:Term">Term</a> <a href="Agda-Syntax-Internal.html#t:Args">Args</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:CoverageFailure" class="def">CoverageFailure</a> <a href="Agda-Syntax-Abstract-Name.html#t:QName">QName</a> [[<a href="Agda-Syntax-Common.html#t:Arg">Arg</a> <a href="Agda-Syntax-Internal.html#t:Pattern">Pattern</a>]]</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:UnreachableClauses" class="def">UnreachableClauses</a> <a href="Agda-Syntax-Abstract-Name.html#t:QName">QName</a> [[<a href="Agda-Syntax-Common.html#t:Arg">Arg</a> <a href="Agda-Syntax-Internal.html#t:Pattern">Pattern</a>]]</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:CoverageCantSplitOn" class="def">CoverageCantSplitOn</a> <a href="Agda-Syntax-Abstract-Name.html#t:QName">QName</a> <a href="Agda-Syntax-Internal.html#t:Telescope">Telescope</a> <a href="Agda-Syntax-Internal.html#t:Args">Args</a> <a href="Agda-Syntax-Internal.html#t:Args">Args</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:CoverageCantSplitIrrelevantType" class="def">CoverageCantSplitIrrelevantType</a> <a href="Agda-Syntax-Internal.html#t:Type">Type</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:CoverageCantSplitType" class="def">CoverageCantSplitType</a> <a href="Agda-Syntax-Internal.html#t:Type">Type</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:NotStrictlyPositive" class="def">NotStrictlyPositive</a> <a href="Agda-Syntax-Abstract-Name.html#t:QName">QName</a> [<a href="Agda-TypeChecking-Monad-Base.html#t:Occ">Occ</a>]</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:LocalVsImportedModuleClash" class="def">LocalVsImportedModuleClash</a> <a href="Agda-Syntax-Abstract-Name.html#t:ModuleName">ModuleName</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:UnsolvedMetas" class="def">UnsolvedMetas</a> [<a href="Agda-Syntax-Position.html#t:Range">Range</a>]</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:UnsolvedConstraints" class="def">UnsolvedConstraints</a> <a href="Agda-TypeChecking-Monad-Base.html#t:Constraints">Constraints</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:CyclicModuleDependency" class="def">CyclicModuleDependency</a> [<a href="Agda-Syntax-Concrete-Name.html#t:TopLevelModuleName">TopLevelModuleName</a>]</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:FileNotFound" class="def">FileNotFound</a> <a href="Agda-Syntax-Concrete-Name.html#t:TopLevelModuleName">TopLevelModuleName</a> [<a href="Agda-Utils-FileName.html#t:AbsolutePath">AbsolutePath</a>]</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:OverlappingProjects" class="def">OverlappingProjects</a> <a href="Agda-Utils-FileName.html#t:AbsolutePath">AbsolutePath</a> <a href="Agda-Syntax-Concrete-Name.html#t:TopLevelModuleName">TopLevelModuleName</a> <a href="Agda-Syntax-Concrete-Name.html#t:TopLevelModuleName">TopLevelModuleName</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:AmbiguousTopLevelModuleName" class="def">AmbiguousTopLevelModuleName</a> <a href="Agda-Syntax-Concrete-Name.html#t:TopLevelModuleName">TopLevelModuleName</a> [<a href="Agda-Utils-FileName.html#t:AbsolutePath">AbsolutePath</a>]</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:ModuleNameDoesntMatchFileName" class="def">ModuleNameDoesntMatchFileName</a> <a href="Agda-Syntax-Concrete-Name.html#t:TopLevelModuleName">TopLevelModuleName</a> [<a href="Agda-Utils-FileName.html#t:AbsolutePath">AbsolutePath</a>]</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:ClashingFileNamesFor" class="def">ClashingFileNamesFor</a> <a href="Agda-Syntax-Abstract-Name.html#t:ModuleName">ModuleName</a> [<a href="Agda-Utils-FileName.html#t:AbsolutePath">AbsolutePath</a>]</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:ModuleDefinedInOtherFile" class="def">ModuleDefinedInOtherFile</a> <a href="Agda-Syntax-Concrete-Name.html#t:TopLevelModuleName">TopLevelModuleName</a> <a href="Agda-Utils-FileName.html#t:AbsolutePath">AbsolutePath</a> <a href="Agda-Utils-FileName.html#t:AbsolutePath">AbsolutePath</a></td><td class="doc"><p>Module name, file from which it was loaded, file which
 the include path says contains the module.
 Scope errors
</p></td></tr><tr><td class="src"><a name="v:BothWithAndRHS" class="def">BothWithAndRHS</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:NotInScope" class="def">NotInScope</a> [<a href="Agda-Syntax-Concrete-Name.html#t:QName">QName</a>]</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:NoSuchModule" class="def">NoSuchModule</a> <a href="Agda-Syntax-Concrete-Name.html#t:QName">QName</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:AmbiguousName" class="def">AmbiguousName</a> <a href="Agda-Syntax-Concrete-Name.html#t:QName">QName</a> [<a href="Agda-Syntax-Abstract-Name.html#t:QName">QName</a>]</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:AmbiguousModule" class="def">AmbiguousModule</a> <a href="Agda-Syntax-Concrete-Name.html#t:QName">QName</a> [<a href="Agda-Syntax-Abstract-Name.html#t:ModuleName">ModuleName</a>]</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:UninstantiatedModule" class="def">UninstantiatedModule</a> <a href="Agda-Syntax-Concrete-Name.html#t:QName">QName</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:ClashingDefinition" class="def">ClashingDefinition</a> <a href="Agda-Syntax-Concrete-Name.html#t:QName">QName</a> <a href="Agda-Syntax-Abstract-Name.html#t:QName">QName</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:ClashingModule" class="def">ClashingModule</a> <a href="Agda-Syntax-Abstract-Name.html#t:ModuleName">ModuleName</a> <a href="Agda-Syntax-Abstract-Name.html#t:ModuleName">ModuleName</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:ClashingImport" class="def">ClashingImport</a> <a href="Agda-Syntax-Concrete-Name.html#t:Name">Name</a> <a href="Agda-Syntax-Abstract-Name.html#t:QName">QName</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:ClashingModuleImport" class="def">ClashingModuleImport</a> <a href="Agda-Syntax-Concrete-Name.html#t:Name">Name</a> <a href="Agda-Syntax-Abstract-Name.html#t:ModuleName">ModuleName</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:PatternShadowsConstructor" class="def">PatternShadowsConstructor</a> <a href="Agda-Syntax-Abstract-Name.html#t:Name">Name</a> <a href="Agda-Syntax-Abstract-Name.html#t:QName">QName</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:ModuleDoesntExport" class="def">ModuleDoesntExport</a> <a href="Agda-Syntax-Concrete-Name.html#t:QName">QName</a> [<a href="Agda-Syntax-Concrete.html#t:ImportedName">ImportedName</a>]</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:DuplicateImports" class="def">DuplicateImports</a> <a href="Agda-Syntax-Concrete-Name.html#t:QName">QName</a> [<a href="Agda-Syntax-Concrete.html#t:ImportedName">ImportedName</a>]</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:InvalidPattern" class="def">InvalidPattern</a> <a href="Agda-Syntax-Concrete.html#t:Pattern">Pattern</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:RepeatedVariablesInPattern" class="def">RepeatedVariablesInPattern</a> [<a href="Agda-Syntax-Concrete-Name.html#t:Name">Name</a>]</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:NotAModuleExpr" class="def">NotAModuleExpr</a> <a href="Agda-Syntax-Concrete.html#t:Expr">Expr</a></td><td class="doc"><p>The expr was used in the right hand side of an implicit module
	 definition, but it wasn't of the form <code>m Delta</code>.
</p></td></tr><tr><td class="src"><a name="v:NotAnExpression" class="def">NotAnExpression</a> <a href="Agda-Syntax-Concrete.html#t:Expr">Expr</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:NotAValidLetBinding" class="def">NotAValidLetBinding</a> <a href="Agda-Syntax-Concrete-Definitions.html#t:NiceDeclaration">NiceDeclaration</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:NothingAppliedToHiddenArg" class="def">NothingAppliedToHiddenArg</a> <a href="Agda-Syntax-Concrete.html#t:Expr">Expr</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:NothingAppliedToInstanceArg" class="def">NothingAppliedToInstanceArg</a> <a href="Agda-Syntax-Concrete.html#t:Expr">Expr</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:UnusedVariableInPatternSynonym" class="def">UnusedVariableInPatternSynonym</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:PatternSynonymArityMismatch" class="def">PatternSynonymArityMismatch</a> <a href="Agda-Syntax-Abstract-Name.html#t:QName">QName</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:NoParseForApplication" class="def">NoParseForApplication</a> [<a href="Agda-Syntax-Concrete.html#t:Expr">Expr</a>]</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:AmbiguousParseForApplication" class="def">AmbiguousParseForApplication</a> [<a href="Agda-Syntax-Concrete.html#t:Expr">Expr</a>] [<a href="Agda-Syntax-Concrete.html#t:Expr">Expr</a>]</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:NoParseForLHS" class="def">NoParseForLHS</a> <a href="Agda-TypeChecking-Monad-Base.html#t:LHSOrPatSyn">LHSOrPatSyn</a> <a href="Agda-Syntax-Concrete.html#t:Pattern">Pattern</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:AmbiguousParseForLHS" class="def">AmbiguousParseForLHS</a> <a href="Agda-TypeChecking-Monad-Base.html#t:LHSOrPatSyn">LHSOrPatSyn</a> <a href="Agda-Syntax-Concrete.html#t:Pattern">Pattern</a> [<a href="Agda-Syntax-Concrete.html#t:Pattern">Pattern</a>]</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:IFSNoCandidateInScope" class="def">IFSNoCandidateInScope</a> <a href="Agda-Syntax-Internal.html#t:Type">Type</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:SafeFlagPostulate" class="def">SafeFlagPostulate</a> <a href="Agda-Syntax-Concrete-Name.html#t:Name">Name</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:SafeFlagPragma" class="def">SafeFlagPragma</a> [<a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-String.html#t:String">String</a>]</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:SafeFlagNoTerminationCheck" class="def">SafeFlagNoTerminationCheck</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:SafeFlagPrimTrustMe" class="def">SafeFlagPrimTrustMe</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:NeedOptionCopatterns" class="def">NeedOptionCopatterns</a></td><td class="doc empty">&nbsp;</td></tr></table></div><div class="subs instances"><p id="control.i:TypeError" class="caption collapser" onclick="toggleSection('i:TypeError')">Instances</p><div id="section.i:TypeError" class="show"><table><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Text-Show.html#t:Show">Show</a> <a href="Agda-TypeChecking-Monad-Base.html#t:TypeError">TypeError</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Typeable-Internal.html#t:Typeable">Typeable</a> <a href="Agda-TypeChecking-Monad-Base.html#t:TypeError">TypeError</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/mtl-2.1.2/Control-Monad-Error-Class.html#t:Error">Error</a> <a href="Agda-TypeChecking-Monad-Base.html#t:TypeError">TypeError</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Agda-TypeChecking-Pretty.html#t:PrettyTCM">PrettyTCM</a> <a href="Agda-TypeChecking-Monad-Base.html#t:TypeError">TypeError</a></td><td class="doc empty">&nbsp;</td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">data</span>  <a name="t:LHSOrPatSyn" class="def">LHSOrPatSyn</a>  <a href="src/Agda-TypeChecking-Monad-Base.html#LHSOrPatSyn" class="link">Source</a></p><div class="doc"><p>Distinguish error message when parsing lhs or pattern synonym, resp.
</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:IsLHS" class="def">IsLHS</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:IsPatSyn" class="def">IsPatSyn</a></td><td class="doc empty">&nbsp;</td></tr></table></div><div class="subs instances"><p id="control.i:LHSOrPatSyn" class="caption collapser" onclick="toggleSection('i:LHSOrPatSyn')">Instances</p><div id="section.i:LHSOrPatSyn" class="show"><table><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Eq.html#t:Eq">Eq</a> <a href="Agda-TypeChecking-Monad-Base.html#t:LHSOrPatSyn">LHSOrPatSyn</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Text-Show.html#t:Show">Show</a> <a href="Agda-TypeChecking-Monad-Base.html#t:LHSOrPatSyn">LHSOrPatSyn</a></td><td class="doc empty">&nbsp;</td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">data</span>  <a name="t:TCErr" class="def">TCErr</a>  <a href="src/Agda-TypeChecking-Monad-Base.html#TCErr" class="link">Source</a></p><div class="doc"><p>Type-checking errors.
</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:TypeError" class="def">TypeError</a> <a href="Agda-TypeChecking-Monad-Base.html#t:TCState">TCState</a> (<a href="Agda-TypeChecking-Monad-Base.html#t:Closure">Closure</a> <a href="Agda-TypeChecking-Monad-Base.html#t:TypeError">TypeError</a>)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:Exception" class="def">Exception</a> <a href="Agda-Syntax-Position.html#t:Range">Range</a> <a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-String.html#t:String">String</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:IOException" class="def">IOException</a> <a href="Agda-Syntax-Position.html#t:Range">Range</a> <a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Control-Exception-Base.html#t:IOException">IOException</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:PatternErr" class="def">PatternErr</a> <a href="Agda-TypeChecking-Monad-Base.html#t:TCState">TCState</a></td><td class="doc"><p>for pattern violations
</p></td></tr></table></div><div class="subs instances"><p id="control.i:TCErr" class="caption collapser" onclick="toggleSection('i:TCErr')">Instances</p><div id="section.i:TCErr" class="show"><table><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Text-Show.html#t:Show">Show</a> <a href="Agda-TypeChecking-Monad-Base.html#t:TCErr">TCErr</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Typeable-Internal.html#t:Typeable">Typeable</a> <a href="Agda-TypeChecking-Monad-Base.html#t:TCErr">TCErr</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Control-Exception-Base.html#t:Exception">Exception</a> <a href="Agda-TypeChecking-Monad-Base.html#t:TCErr">TCErr</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/mtl-2.1.2/Control-Monad-Error-Class.html#t:Error">Error</a> <a href="Agda-TypeChecking-Monad-Base.html#t:TCErr">TCErr</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Agda-Syntax-Position.html#t:HasRange">HasRange</a> <a href="Agda-TypeChecking-Monad-Base.html#t:TCErr">TCErr</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Agda-TypeChecking-Pretty.html#t:PrettyTCM">PrettyTCM</a> <a href="Agda-TypeChecking-Monad-Base.html#t:TCErr">TCErr</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/mtl-2.1.2/Control-Monad-Error-Class.html#t:MonadError">MonadError</a> <a href="Agda-TypeChecking-Monad-Base.html#t:TCErr">TCErr</a> <a href="Agda-Interaction-Monad.html#t:IM">IM</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/mtl-2.1.2/Control-Monad-Error-Class.html#t:MonadError">MonadError</a> <a href="Agda-TypeChecking-Monad-Base.html#t:TCErr">TCErr</a> <a href="Agda-Interaction-InteractionTop.html#t:CommandM">CommandM</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/mtl-2.1.2/Control-Monad-Error-Class.html#t:MonadError">MonadError</a> <a href="Agda-TypeChecking-Monad-Base.html#t:TCErr">TCErr</a> (<a href="Agda-TypeChecking-Monad-Base.html#t:TCMT">TCMT</a> <a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/System-IO.html#t:IO">IO</a>)</td><td class="doc empty">&nbsp;</td></tr></table></div></div></div><h1 id="g:22">Type checking monad transformer
</h1><div class="top"><p class="src"><span class="keyword">newtype</span>  <a name="t:TCMT" class="def">TCMT</a> m a <a href="src/Agda-TypeChecking-Monad-Base.html#TCMT" class="link">Source</a></p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:TCM" class="def">TCM</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:unTCM" class="def">unTCM</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-IORef.html#t:IORef">IORef</a> <a href="Agda-TypeChecking-Monad-Base.html#t:TCState">TCState</a> -&gt; <a href="Agda-TypeChecking-Monad-Base.html#t:TCEnv">TCEnv</a> -&gt; 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:TCMT" class="caption collapser" onclick="toggleSection('i:TCMT')">Instances</p><div id="section.i:TCMT" class="show"><table><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/transformers-0.3.0.0/Control-Monad-Trans-Class.html#t:MonadTrans">MonadTrans</a> <a href="Agda-TypeChecking-Monad-Base.html#t:TCMT">TCMT</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/mtl-2.1.2/Control-Monad-Error-Class.html#t:MonadError">MonadError</a> <a href="Agda-TypeChecking-Monad-Base.html#t:TCErr">TCErr</a> <a href="Agda-Interaction-Monad.html#t:IM">IM</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/mtl-2.1.2/Control-Monad-Error-Class.html#t:MonadError">MonadError</a> <a href="Agda-TypeChecking-Monad-Base.html#t:TCErr">TCErr</a> (<a href="Agda-TypeChecking-Monad-Base.html#t:TCMT">TCMT</a> <a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/System-IO.html#t:IO">IO</a>)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/transformers-0.3.0.0/Control-Monad-IO-Class.html#t:MonadIO">MonadIO</a> m =&gt; <a href="/usr/share/doc/ghc/html/libraries/mtl-2.1.2/Control-Monad-Reader-Class.html#t:MonadReader">MonadReader</a> <a href="Agda-TypeChecking-Monad-Base.html#t:TCEnv">TCEnv</a> (<a href="Agda-TypeChecking-Monad-Base.html#t:TCMT">TCMT</a> m)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/transformers-0.3.0.0/Control-Monad-IO-Class.html#t:MonadIO">MonadIO</a> m =&gt; <a href="/usr/share/doc/ghc/html/libraries/mtl-2.1.2/Control-Monad-State-Class.html#t:MonadState">MonadState</a> <a href="Agda-TypeChecking-Monad-Base.html#t:TCState">TCState</a> (<a href="Agda-TypeChecking-Monad-Base.html#t:TCMT">TCMT</a> m)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/transformers-0.3.0.0/Control-Monad-IO-Class.html#t:MonadIO">MonadIO</a> m =&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Control-Monad.html#t:Monad">Monad</a> (<a href="Agda-TypeChecking-Monad-Base.html#t:TCMT">TCMT</a> m)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/transformers-0.3.0.0/Control-Monad-IO-Class.html#t:MonadIO">MonadIO</a> m =&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Control-Monad.html#t:Functor">Functor</a> (<a href="Agda-TypeChecking-Monad-Base.html#t:TCMT">TCMT</a> m)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/transformers-0.3.0.0/Control-Monad-IO-Class.html#t:MonadIO">MonadIO</a> m =&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Control-Applicative.html#t:Applicative">Applicative</a> (<a href="Agda-TypeChecking-Monad-Base.html#t:TCMT">TCMT</a> m)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/transformers-0.3.0.0/Control-Monad-IO-Class.html#t:MonadIO">MonadIO</a> m =&gt; <a href="/usr/share/doc/ghc/html/libraries/transformers-0.3.0.0/Control-Monad-IO-Class.html#t:MonadIO">MonadIO</a> (<a href="Agda-TypeChecking-Monad-Base.html#t:TCMT">TCMT</a> m)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/transformers-0.3.0.0/Control-Monad-IO-Class.html#t:MonadIO">MonadIO</a> m =&gt; <a href="Agda-TypeChecking-Monad-Base.html#t:MonadTCM">MonadTCM</a> (<a href="Agda-TypeChecking-Monad-Base.html#t:TCMT">TCMT</a> m)</td><td class="doc empty">&nbsp;</td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">type</span> <a name="t:TCM" class="def">TCM</a> = <a href="Agda-TypeChecking-Monad-Base.html#t:TCMT">TCMT</a> <a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/System-IO.html#t:IO">IO</a><a href="src/Agda-TypeChecking-Monad-Base.html#TCM" class="link">Source</a></p></div><div class="top"><p class="src"><span class="keyword">class</span> (<a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Control-Applicative.html#t:Applicative">Applicative</a> tcm, <a href="/usr/share/doc/ghc/html/libraries/transformers-0.3.0.0/Control-Monad-IO-Class.html#t:MonadIO">MonadIO</a> tcm, <a href="/usr/share/doc/ghc/html/libraries/mtl-2.1.2/Control-Monad-Reader-Class.html#t:MonadReader">MonadReader</a> <a href="Agda-TypeChecking-Monad-Base.html#t:TCEnv">TCEnv</a> tcm, <a href="/usr/share/doc/ghc/html/libraries/mtl-2.1.2/Control-Monad-State-Class.html#t:MonadState">MonadState</a> <a href="Agda-TypeChecking-Monad-Base.html#t:TCState">TCState</a> tcm) =&gt; <a name="t:MonadTCM" class="def">MonadTCM</a> tcm  <span class="keyword">where</span><a href="src/Agda-TypeChecking-Monad-Base.html#MonadTCM" class="link">Source</a></p><div class="subs methods"><p class="caption">Methods</p><p class="src"><a name="v:liftTCM" class="def">liftTCM</a> ::  <a href="Agda-TypeChecking-Monad-Base.html#t:TCM">TCM</a> a -&gt; tcm a<a href="src/Agda-TypeChecking-Monad-Base.html#liftTCM" class="link">Source</a></p></div><div class="subs instances"><p id="control.i:MonadTCM" class="caption collapser" onclick="toggleSection('i:MonadTCM')">Instances</p><div id="section.i:MonadTCM" class="show"><table><tr><td class="src"><a href="Agda-TypeChecking-Monad-Base.html#t:MonadTCM">MonadTCM</a> RecPatM</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Agda-TypeChecking-Monad-Base.html#t:MonadTCM">MonadTCM</a> <a href="Agda-TypeChecking-Rules-LHS-Unify.html#t:Unify">Unify</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/transformers-0.3.0.0/Control-Monad-IO-Class.html#t:MonadIO">MonadIO</a> m =&gt; <a href="Agda-TypeChecking-Monad-Base.html#t:MonadTCM">MonadTCM</a> (<a href="Agda-TypeChecking-Monad-Base.html#t:TCMT">TCMT</a> m)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src">(<a href="/usr/share/doc/ghc/html/libraries/mtl-2.1.2/Control-Monad-Error-Class.html#t:Error">Error</a> err, <a href="Agda-TypeChecking-Monad-Base.html#t:MonadTCM">MonadTCM</a> tcm) =&gt; <a href="Agda-TypeChecking-Monad-Base.html#t:MonadTCM">MonadTCM</a> (<a href="/usr/share/doc/ghc/html/libraries/mtl-2.1.2/Control-Monad-Error.html#t:ErrorT">ErrorT</a> err tcm)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src">(<a href="/usr/share/doc/ghc/html/libraries/mtl-2.1.2/Control-Monad-Error-Class.html#t:Error">Error</a> err, <a href="Agda-TypeChecking-Monad-Base.html#t:MonadTCM">MonadTCM</a> tcm) =&gt; <a href="Agda-TypeChecking-Monad-Base.html#t:MonadTCM">MonadTCM</a> (<a href="Agda-TypeChecking-Monad-Exception.html#t:ExceptionT">ExceptionT</a> err tcm)</td><td class="doc empty">&nbsp;</td></tr></table></div></div></div><div class="top"><p class="src"><a name="v:catchError_" class="def">catchError_</a> ::  <a href="Agda-TypeChecking-Monad-Base.html#t:TCM">TCM</a> a -&gt; (<a href="Agda-TypeChecking-Monad-Base.html#t:TCErr">TCErr</a> -&gt; <a href="Agda-TypeChecking-Monad-Base.html#t:TCM">TCM</a> a) -&gt; <a href="Agda-TypeChecking-Monad-Base.html#t:TCM">TCM</a> a<a href="src/Agda-TypeChecking-Monad-Base.html#catchError_" class="link">Source</a></p><div class="doc"><p>Preserve the state of the failing computation.
</p></div></div><div class="top"><p class="src"><a name="v:mapTCMT" class="def">mapTCMT</a> ::  (<span class="keyword">forall</span> a.  m a -&gt; n a) -&gt; <a href="Agda-TypeChecking-Monad-Base.html#t:TCMT">TCMT</a> m a -&gt; <a href="Agda-TypeChecking-Monad-Base.html#t:TCMT">TCMT</a> n a<a href="src/Agda-TypeChecking-Monad-Base.html#mapTCMT" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:pureTCM" class="def">pureTCM</a> :: <a href="/usr/share/doc/ghc/html/libraries/transformers-0.3.0.0/Control-Monad-IO-Class.html#t:MonadIO">MonadIO</a> m =&gt; (<a href="Agda-TypeChecking-Monad-Base.html#t:TCState">TCState</a> -&gt; <a href="Agda-TypeChecking-Monad-Base.html#t:TCEnv">TCEnv</a> -&gt; a) -&gt; <a href="Agda-TypeChecking-Monad-Base.html#t:TCMT">TCMT</a> m a<a href="src/Agda-TypeChecking-Monad-Base.html#pureTCM" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:returnTCMT" class="def">returnTCMT</a> :: <a href="/usr/share/doc/ghc/html/libraries/transformers-0.3.0.0/Control-Monad-IO-Class.html#t:MonadIO">MonadIO</a> m =&gt; a -&gt; <a href="Agda-TypeChecking-Monad-Base.html#t:TCMT">TCMT</a> m a<a href="src/Agda-TypeChecking-Monad-Base.html#returnTCMT" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:bindTCMT" class="def">bindTCMT</a> :: <a href="/usr/share/doc/ghc/html/libraries/transformers-0.3.0.0/Control-Monad-IO-Class.html#t:MonadIO">MonadIO</a> m =&gt; <a href="Agda-TypeChecking-Monad-Base.html#t:TCMT">TCMT</a> m a -&gt; (a -&gt; <a href="Agda-TypeChecking-Monad-Base.html#t:TCMT">TCMT</a> m b) -&gt; <a href="Agda-TypeChecking-Monad-Base.html#t:TCMT">TCMT</a> m b<a href="src/Agda-TypeChecking-Monad-Base.html#bindTCMT" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:thenTCMT" class="def">thenTCMT</a> :: <a href="/usr/share/doc/ghc/html/libraries/transformers-0.3.0.0/Control-Monad-IO-Class.html#t:MonadIO">MonadIO</a> m =&gt; <a href="Agda-TypeChecking-Monad-Base.html#t:TCMT">TCMT</a> m a -&gt; <a href="Agda-TypeChecking-Monad-Base.html#t:TCMT">TCMT</a> m b -&gt; <a href="Agda-TypeChecking-Monad-Base.html#t:TCMT">TCMT</a> m b<a href="src/Agda-TypeChecking-Monad-Base.html#thenTCMT" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:fmapTCMT" class="def">fmapTCMT</a> :: <a href="/usr/share/doc/ghc/html/libraries/transformers-0.3.0.0/Control-Monad-IO-Class.html#t:MonadIO">MonadIO</a> m =&gt; (a -&gt; b) -&gt; <a href="Agda-TypeChecking-Monad-Base.html#t:TCMT">TCMT</a> m a -&gt; <a href="Agda-TypeChecking-Monad-Base.html#t:TCMT">TCMT</a> m b<a href="src/Agda-TypeChecking-Monad-Base.html#fmapTCMT" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:apTCMT" class="def">apTCMT</a> :: <a href="/usr/share/doc/ghc/html/libraries/transformers-0.3.0.0/Control-Monad-IO-Class.html#t:MonadIO">MonadIO</a> m =&gt; <a href="Agda-TypeChecking-Monad-Base.html#t:TCMT">TCMT</a> m (a -&gt; b) -&gt; <a href="Agda-TypeChecking-Monad-Base.html#t:TCMT">TCMT</a> m a -&gt; <a href="Agda-TypeChecking-Monad-Base.html#t:TCMT">TCMT</a> m b<a href="src/Agda-TypeChecking-Monad-Base.html#apTCMT" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:patternViolation" class="def">patternViolation</a> ::  <a href="Agda-TypeChecking-Monad-Base.html#t:TCM">TCM</a> a<a href="src/Agda-TypeChecking-Monad-Base.html#patternViolation" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:internalError" class="def">internalError</a> :: <a href="Agda-TypeChecking-Monad-Base.html#t:MonadTCM">MonadTCM</a> tcm =&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-String.html#t:String">String</a> -&gt; tcm a<a href="src/Agda-TypeChecking-Monad-Base.html#internalError" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:typeError" class="def">typeError</a> :: <a href="Agda-TypeChecking-Monad-Base.html#t:MonadTCM">MonadTCM</a> tcm =&gt; <a href="Agda-TypeChecking-Monad-Base.html#t:TypeError">TypeError</a> -&gt; tcm a<a href="src/Agda-TypeChecking-Monad-Base.html#typeError" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:runTCM" class="def">runTCM</a> ::  <a href="Agda-TypeChecking-Monad-Base.html#t:TCMT">TCMT</a> <a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/System-IO.html#t:IO">IO</a> a -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/System-IO.html#t:IO">IO</a> (<a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Either.html#t:Either">Either</a> <a href="Agda-TypeChecking-Monad-Base.html#t:TCErr">TCErr</a> a)<a href="src/Agda-TypeChecking-Monad-Base.html#runTCM" class="link">Source</a></p><div class="doc"><p>Running the type checking monad
</p></div></div><div class="top"><p class="src"><a name="v:runTCM-39-" class="def">runTCM'</a> :: <a href="/usr/share/doc/ghc/html/libraries/transformers-0.3.0.0/Control-Monad-IO-Class.html#t:MonadIO">MonadIO</a> m =&gt; <a href="Agda-TypeChecking-Monad-Base.html#t:TCMT">TCMT</a> m a -&gt; m a<a href="src/Agda-TypeChecking-Monad-Base.html#runTCM%27" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:forkTCM" class="def">forkTCM</a> ::  <a href="Agda-TypeChecking-Monad-Base.html#t:TCM">TCM</a> a -&gt; <a href="Agda-TypeChecking-Monad-Base.html#t:TCM">TCM</a> <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Tuple.html#t:-40--41-">()</a><a href="src/Agda-TypeChecking-Monad-Base.html#forkTCM" class="link">Source</a></p><div class="doc"><p>Runs the given computation in a separate thread, with <em>a copy</em> of
 the current state and environment.
</p><p>Note that Agda sometimes uses actual, mutable state. If the
 computation given to <code>forkTCM</code> tries to <em>modify</em> this state, then
 bad things can happen, because accesses are not mutually exclusive.
 The <code>forkTCM</code> function has been added mainly to allow the thread to
 <em>read</em> (a snapshot of) the current state in a convenient way.
</p><p>Note also that exceptions which are raised in the thread are not
 propagated to the parent, so the thread should not do anything
 important.
</p></div></div><div class="top"><p class="src"><a name="v:extendlambdaname" class="def">extendlambdaname</a> :: [<a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Char.html#t:Char">Char</a>]<a href="src/Agda-TypeChecking-Monad-Base.html#extendlambdaname" class="link">Source</a></p><div class="doc"><p>Base name for extended lambda patterns
</p></div></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.11.0</p></div></body></html>