<!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.Implicit</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-Implicit.html");}; //]]> </script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="src/Agda-TypeChecking-Implicit.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.Implicit</p></div><div id="description"><p class="caption">Description</p><div class="doc"><p>Functions for inserting implicit arguments at the right places. </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:implicitArgs">implicitArgs</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Int.html#t:Int">Int</a> -> (<a href="Agda-Syntax-Common.html#t:Hiding">Hiding</a> -> <a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a>) -> <a href="Agda-Syntax-Internal.html#t:Type">Type</a> -> <a href="Agda-TypeChecking-Monad-Base.html#t:TCM">TCM</a> (<a href="Agda-Syntax-Internal.html#t:Args">Args</a>, <a href="Agda-Syntax-Internal.html#t:Type">Type</a>)</li><li class="src short"><span class="keyword">data</span> <a href="#t:ImplicitInsertion">ImplicitInsertion</a> <ul class="subs"><li>= <a href="#v:ImpInsert">ImpInsert</a> [<a href="Agda-Syntax-Common.html#t:Hiding">Hiding</a>] </li><li>| <a href="#v:BadImplicits">BadImplicits</a> </li><li>| <a href="#v:NoSuchName">NoSuchName</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:NoInsertNeeded">NoInsertNeeded</a> </li></ul></li><li class="src short"><a href="#v:impInsert">impInsert</a> :: [<a href="Agda-Syntax-Common.html#t:Hiding">Hiding</a>] -> <a href="Agda-TypeChecking-Implicit.html#t:ImplicitInsertion">ImplicitInsertion</a></li><li class="src short"><a href="#v:insertImplicit">insertImplicit</a> :: <a href="Agda-Syntax-Common.html#t:NamedArg">NamedArg</a> e -> [<a href="Agda-Syntax-Common.html#t:Arg">Arg</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-Implicit.html#t:ImplicitInsertion">ImplicitInsertion</a></li></ul></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src"><a name="v:implicitArgs" class="def">implicitArgs</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Int.html#t:Int">Int</a> -> (<a href="Agda-Syntax-Common.html#t:Hiding">Hiding</a> -> <a href="/usr/share/doc/ghc/html/libraries/base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a>) -> <a href="Agda-Syntax-Internal.html#t:Type">Type</a> -> <a href="Agda-TypeChecking-Monad-Base.html#t:TCM">TCM</a> (<a href="Agda-Syntax-Internal.html#t:Args">Args</a>, <a href="Agda-Syntax-Internal.html#t:Type">Type</a>)<a href="src/Agda-TypeChecking-Implicit.html#implicitArgs" class="link">Source</a></p><div class="doc"><p><code>implicitArgs n expand t</code> generates up to <code>n</code> implicit arguments metas (unbounded if <code>n<0</code>), as long as <code>t</code> is a function type and <code>expand</code> holds on the hiding info of its domain. </p></div></div><div class="top"><p class="src"><span class="keyword">data</span> <a name="t:ImplicitInsertion" class="def">ImplicitInsertion</a> <a href="src/Agda-TypeChecking-Implicit.html#ImplicitInsertion" class="link">Source</a></p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:ImpInsert" class="def">ImpInsert</a> [<a href="Agda-Syntax-Common.html#t:Hiding">Hiding</a>]</td><td class="doc"><p>this many implicits have to be inserted </p></td></tr><tr><td class="src"><a name="v:BadImplicits" class="def">BadImplicits</a></td><td class="doc"><p>hidden argument where there should have been a non-hidden arg </p></td></tr><tr><td class="src"><a name="v:NoSuchName" class="def">NoSuchName</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"><p>bad named argument </p></td></tr><tr><td class="src"><a name="v:NoInsertNeeded" class="def">NoInsertNeeded</a></td><td class="doc empty"> </td></tr></table></div><div class="subs instances"><p id="control.i:ImplicitInsertion" class="caption collapser" onclick="toggleSection('i:ImplicitInsertion')">Instances</p><div id="section.i:ImplicitInsertion" 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-Implicit.html#t:ImplicitInsertion">ImplicitInsertion</a></td><td class="doc empty"> </td></tr></table></div></div></div><div class="top"><p class="src"><a name="v:impInsert" class="def">impInsert</a> :: [<a href="Agda-Syntax-Common.html#t:Hiding">Hiding</a>] -> <a href="Agda-TypeChecking-Implicit.html#t:ImplicitInsertion">ImplicitInsertion</a><a href="src/Agda-TypeChecking-Implicit.html#impInsert" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:insertImplicit" class="def">insertImplicit</a> :: <a href="Agda-Syntax-Common.html#t:NamedArg">NamedArg</a> e -> [<a href="Agda-Syntax-Common.html#t:Arg">Arg</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-Implicit.html#t:ImplicitInsertion">ImplicitInsertion</a><a href="src/Agda-TypeChecking-Implicit.html#insertImplicit" class="link">Source</a></p><div class="doc"><p>The list should be non-empty. </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>