Sophie

Sophie

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

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.Irrelevance</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-Irrelevance.html");};
//]]>
</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="src/Agda-TypeChecking-Irrelevance.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.Irrelevance</p></div><div id="table-of-contents"><p class="caption">Contents</p><ul><li><a href="#g:1">Operations on <code><a href="Agda-Syntax-Common.html#t:Dom">Dom</a></code>.
</a></li><li><a href="#g:2">Operations on <code><a href="Agda-TypeChecking-Monad-Base.html#t:Context">Context</a></code>.
</a></li><li><a href="#g:3">Tests
</a></li></ul></div><div id="description"><p class="caption">Description</p><div class="doc"><p>Irrelevant function types.
</p></div></div><div id="synopsis"><p id="control.syn" class="caption expander" onclick="toggleSection('syn')">Synopsis</p><ul id="section.syn" class="hide" onclick="toggleSection('syn')"><li class="src short"><a href="#v:irrelevantOrUnused">irrelevantOrUnused</a> :: <a href="Agda-Syntax-Common.html#t:Relevance">Relevance</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:unusableRelevance">unusableRelevance</a> :: <a href="Agda-Syntax-Common.html#t:Relevance">Relevance</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:composeRelevance">composeRelevance</a> :: <a href="Agda-Syntax-Common.html#t:Relevance">Relevance</a> -&gt; <a href="Agda-Syntax-Common.html#t:Relevance">Relevance</a> -&gt; <a href="Agda-Syntax-Common.html#t:Relevance">Relevance</a></li><li class="src short"><a href="#v:inverseComposeRelevance">inverseComposeRelevance</a> :: <a href="Agda-Syntax-Common.html#t:Relevance">Relevance</a> -&gt; <a href="Agda-Syntax-Common.html#t:Relevance">Relevance</a> -&gt; <a href="Agda-Syntax-Common.html#t:Relevance">Relevance</a></li><li class="src short"><a href="#v:ignoreForced">ignoreForced</a> :: <a href="Agda-Syntax-Common.html#t:Relevance">Relevance</a> -&gt; <a href="Agda-Syntax-Common.html#t:Relevance">Relevance</a></li><li class="src short"><a href="#v:irrToNonStrict">irrToNonStrict</a> :: <a href="Agda-Syntax-Common.html#t:Relevance">Relevance</a> -&gt; <a href="Agda-Syntax-Common.html#t:Relevance">Relevance</a></li><li class="src short"><a href="#v:nonStrictToIrr">nonStrictToIrr</a> :: <a href="Agda-Syntax-Common.html#t:Relevance">Relevance</a> -&gt; <a href="Agda-Syntax-Common.html#t:Relevance">Relevance</a></li><li class="src short"><a href="#v:hideAndRelParams">hideAndRelParams</a> ::  <a href="Agda-Syntax-Common.html#t:Dom">Dom</a> a -&gt; <a href="Agda-Syntax-Common.html#t:Dom">Dom</a> a</li><li class="src short"><a href="#v:inverseApplyRelevance">inverseApplyRelevance</a> ::  <a href="Agda-Syntax-Common.html#t:Relevance">Relevance</a> -&gt; <a href="Agda-Syntax-Common.html#t:Dom">Dom</a> a -&gt; <a href="Agda-Syntax-Common.html#t:Dom">Dom</a> a</li><li class="src short"><a href="#v:applyRelevance">applyRelevance</a> ::  <a href="Agda-Syntax-Common.html#t:Relevance">Relevance</a> -&gt; <a href="Agda-Syntax-Common.html#t:Dom">Dom</a> a -&gt; <a href="Agda-Syntax-Common.html#t:Dom">Dom</a> a</li><li class="src short"><a href="#v:workOnTypes">workOnTypes</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</li><li class="src short"><a href="#v:doWorkOnTypes">doWorkOnTypes</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</li><li class="src short"><a href="#v:workOnTypes-39-">workOnTypes'</a> ::  <a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Bool.html#t:Bool">Bool</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:applyRelevanceToContext">applyRelevanceToContext</a> ::  <a href="Agda-Syntax-Common.html#t:Relevance">Relevance</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:wakeIrrelevantVars">wakeIrrelevantVars</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</li><li class="src short"><a href="#v:prop_galois">prop_galois</a> :: <a href="Agda-Syntax-Common.html#t:Relevance">Relevance</a> -&gt; <a href="Agda-Syntax-Common.html#t:Relevance">Relevance</a> -&gt; <a href="Agda-Syntax-Common.html#t:Relevance">Relevance</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:tests">tests</a> :: <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-Bool.html#t:Bool">Bool</a></li></ul></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src"><a name="v:irrelevantOrUnused" class="def">irrelevantOrUnused</a> :: <a href="Agda-Syntax-Common.html#t:Relevance">Relevance</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-Irrelevance.html#irrelevantOrUnused" class="link">Source</a></p><div class="doc"><p>data <code><a href="Agda-Syntax-Common.html#t:Relevance">Relevance</a></code>
   see <code><a href="Agda-Syntax.html#t:Common">Common</a></code>
</p></div></div><div class="top"><p class="src"><a name="v:unusableRelevance" class="def">unusableRelevance</a> :: <a href="Agda-Syntax-Common.html#t:Relevance">Relevance</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-Irrelevance.html#unusableRelevance" class="link">Source</a></p><div class="doc"><p><code>unusableRelevance rel == True</code> iff we cannot use a variable of <code>rel</code>.
</p></div></div><div class="top"><p class="src"><a name="v:composeRelevance" class="def">composeRelevance</a> :: <a href="Agda-Syntax-Common.html#t:Relevance">Relevance</a> -&gt; <a href="Agda-Syntax-Common.html#t:Relevance">Relevance</a> -&gt; <a href="Agda-Syntax-Common.html#t:Relevance">Relevance</a><a href="src/Agda-TypeChecking-Irrelevance.html#composeRelevance" class="link">Source</a></p><div class="doc"><p><code><a href="Agda-Syntax-Common.html#t:Relevance">Relevance</a></code> composition.
   <code><a href="Agda-Syntax-Common.html#v:Irrelevant">Irrelevant</a></code> is dominant, <code><a href="Agda-Syntax-Common.html#v:Relevant">Relevant</a></code> is neutral.
</p></div></div><div class="top"><p class="src"><a name="v:inverseComposeRelevance" class="def">inverseComposeRelevance</a> :: <a href="Agda-Syntax-Common.html#t:Relevance">Relevance</a> -&gt; <a href="Agda-Syntax-Common.html#t:Relevance">Relevance</a> -&gt; <a href="Agda-Syntax-Common.html#t:Relevance">Relevance</a><a href="src/Agda-TypeChecking-Irrelevance.html#inverseComposeRelevance" class="link">Source</a></p><div class="doc"><p><code>inverseComposeRelevance r x</code> returns the most irrelevant <code>y</code>
   such that forall <code>x</code>, <code>y</code> we have
   <code>x `moreRelevant` (r `composeRelevance` y)</code>
   iff
   <code>(r `inverseComposeRelevance` x) `moreRelevant` y</code> (Galois connection).
</p></div></div><div class="top"><p class="src"><a name="v:ignoreForced" class="def">ignoreForced</a> :: <a href="Agda-Syntax-Common.html#t:Relevance">Relevance</a> -&gt; <a href="Agda-Syntax-Common.html#t:Relevance">Relevance</a><a href="src/Agda-TypeChecking-Irrelevance.html#ignoreForced" class="link">Source</a></p><div class="doc"><p>For comparing <code>Relevance</code> ignoring <code>Forced</code> and <code>UnusedArg</code>.
</p></div></div><div class="top"><p class="src"><a name="v:irrToNonStrict" class="def">irrToNonStrict</a> :: <a href="Agda-Syntax-Common.html#t:Relevance">Relevance</a> -&gt; <a href="Agda-Syntax-Common.html#t:Relevance">Relevance</a><a href="src/Agda-TypeChecking-Irrelevance.html#irrToNonStrict" class="link">Source</a></p><div class="doc"><p>Irrelevant function arguments may appear non-strictly in the codomain type.
</p></div></div><div class="top"><p class="src"><a name="v:nonStrictToIrr" class="def">nonStrictToIrr</a> :: <a href="Agda-Syntax-Common.html#t:Relevance">Relevance</a> -&gt; <a href="Agda-Syntax-Common.html#t:Relevance">Relevance</a><a href="src/Agda-TypeChecking-Irrelevance.html#nonStrictToIrr" class="link">Source</a></p></div><h1 id="g:1">Operations on <code><a href="Agda-Syntax-Common.html#t:Dom">Dom</a></code>.
</h1><div class="top"><p class="src"><a name="v:hideAndRelParams" class="def">hideAndRelParams</a> ::  <a href="Agda-Syntax-Common.html#t:Dom">Dom</a> a -&gt; <a href="Agda-Syntax-Common.html#t:Dom">Dom</a> a<a href="src/Agda-TypeChecking-Irrelevance.html#hideAndRelParams" class="link">Source</a></p><div class="doc"><p>Prepare parts of a parameter telescope for abstraction in constructors
   and projections.
</p></div></div><div class="top"><p class="src"><a name="v:inverseApplyRelevance" class="def">inverseApplyRelevance</a> ::  <a href="Agda-Syntax-Common.html#t:Relevance">Relevance</a> -&gt; <a href="Agda-Syntax-Common.html#t:Dom">Dom</a> a -&gt; <a href="Agda-Syntax-Common.html#t:Dom">Dom</a> a<a href="src/Agda-TypeChecking-Irrelevance.html#inverseApplyRelevance" class="link">Source</a></p><div class="doc"><p>Used to modify context when going into a <code>rel</code> argument.
</p></div></div><div class="top"><p class="src"><a name="v:applyRelevance" class="def">applyRelevance</a> ::  <a href="Agda-Syntax-Common.html#t:Relevance">Relevance</a> -&gt; <a href="Agda-Syntax-Common.html#t:Dom">Dom</a> a -&gt; <a href="Agda-Syntax-Common.html#t:Dom">Dom</a> a<a href="src/Agda-TypeChecking-Irrelevance.html#applyRelevance" class="link">Source</a></p><div class="doc"><p>Compose two relevance flags.
   This function is used to update the relevance information
   on pattern variables <code>a</code> after a match against something <code>rel</code>.
</p></div></div><h1 id="g:2">Operations on <code><a href="Agda-TypeChecking-Monad-Base.html#t:Context">Context</a></code>.
</h1><div class="top"><p class="src"><a name="v:workOnTypes" class="def">workOnTypes</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<a href="src/Agda-TypeChecking-Irrelevance.html#workOnTypes" class="link">Source</a></p><div class="doc"><p>Modify the context whenever going from the l.h.s. (term side)
   of the typing judgement to the r.h.s. (type side).
</p></div></div><div class="top"><p class="src"><a name="v:doWorkOnTypes" class="def">doWorkOnTypes</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<a href="src/Agda-TypeChecking-Irrelevance.html#doWorkOnTypes" class="link">Source</a></p><div class="doc"><p>Call me if --experimental-irrelevance is set.
</p></div></div><div class="top"><p class="src"><a name="v:workOnTypes-39-" class="def">workOnTypes'</a> ::  <a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Bool.html#t:Bool">Bool</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-Irrelevance.html#workOnTypes%27" class="link">Source</a></p><div class="doc"><p>Internal workhorse, expects value of --experimental-irrelevance flag
   as argument.
</p></div></div><div class="top"><p class="src"><a name="v:applyRelevanceToContext" class="def">applyRelevanceToContext</a> ::  <a href="Agda-Syntax-Common.html#t:Relevance">Relevance</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-Irrelevance.html#applyRelevanceToContext" class="link">Source</a></p><div class="doc"><p>(Conditionally) wake up irrelevant variables and make them relevant.
   For instance,
   in an irrelevant function argument otherwise irrelevant variables
   may be used, so they are awoken before type checking the argument.
</p></div></div><div class="top"><p class="src"><a name="v:wakeIrrelevantVars" class="def">wakeIrrelevantVars</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<a href="src/Agda-TypeChecking-Irrelevance.html#wakeIrrelevantVars" class="link">Source</a></p><div class="doc"><p>Wake up irrelevant variables and make them relevant.  For instance,
   in an irrelevant function argument otherwise irrelevant variables
   may be used, so they are awoken before type checking the argument.
</p></div></div><h1 id="g:3">Tests
</h1><div class="top"><p class="src"><a name="v:prop_galois" class="def">prop_galois</a> :: <a href="Agda-Syntax-Common.html#t:Relevance">Relevance</a> -&gt; <a href="Agda-Syntax-Common.html#t:Relevance">Relevance</a> -&gt; <a href="Agda-Syntax-Common.html#t:Relevance">Relevance</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-Irrelevance.html#prop_galois" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:tests" class="def">tests</a> :: <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-Bool.html#t:Bool">Bool</a><a href="src/Agda-TypeChecking-Irrelevance.html#tests" class="link">Source</a></p></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.11.0</p></div></body></html>