<!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>Avail</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_Avail.html");}; //]]> </script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">ghc-7.4.2: The GHC API</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">Avail</p></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">type</span> <a href="#t:Avails">Avails</a> = [<a href="Avail.html#t:AvailInfo">AvailInfo</a>]</li><li class="src short"><span class="keyword">data</span> <a href="#t:AvailInfo">AvailInfo</a> <ul class="subs"><li>= <a href="#v:Avail">Avail</a> <a href="Name.html#t:Name">Name</a> </li><li>| <a href="#v:AvailTC">AvailTC</a> <a href="Name.html#t:Name">Name</a> [<a href="Name.html#t:Name">Name</a>] </li></ul></li><li class="src short"><a href="#v:availsToNameSet">availsToNameSet</a> :: [<a href="Avail.html#t:AvailInfo">AvailInfo</a>] -> <a href="NameSet.html#t:NameSet">NameSet</a></li><li class="src short"><a href="#v:availsToNameEnv">availsToNameEnv</a> :: [<a href="Avail.html#t:AvailInfo">AvailInfo</a>] -> <a href="NameEnv.html#t:NameEnv">NameEnv</a> <a href="Avail.html#t:AvailInfo">AvailInfo</a></li><li class="src short"><a href="#v:availName">availName</a> :: <a href="Avail.html#t:AvailInfo">AvailInfo</a> -> <a href="Name.html#t:Name">Name</a></li><li class="src short"><a href="#v:availNames">availNames</a> :: <a href="Avail.html#t:AvailInfo">AvailInfo</a> -> [<a href="Name.html#t:Name">Name</a>]</li><li class="src short"><a href="#v:stableAvailCmp">stableAvailCmp</a> :: <a href="Avail.html#t:AvailInfo">AvailInfo</a> -> <a href="Avail.html#t:AvailInfo">AvailInfo</a> -> <a href="../base-4.5.1.0/Data-Ord.html#t:Ordering">Ordering</a></li><li class="src short"><a href="#v:gresFromAvails">gresFromAvails</a> :: <a href="RdrName.html#t:Provenance">Provenance</a> -> [<a href="Avail.html#t:AvailInfo">AvailInfo</a>] -> [<a href="RdrName.html#t:GlobalRdrElt">GlobalRdrElt</a>]</li><li class="src short"><a href="#v:gresFromAvail">gresFromAvail</a> :: (<a href="Name.html#t:Name">Name</a> -> <a href="RdrName.html#t:Provenance">Provenance</a>) -> <a href="Avail.html#t:AvailInfo">AvailInfo</a> -> [<a href="RdrName.html#t:GlobalRdrElt">GlobalRdrElt</a>]</li></ul></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src"><span class="keyword">type</span> <a name="t:Avails" class="def">Avails</a> = [<a href="Avail.html#t:AvailInfo">AvailInfo</a>]</p><div class="doc"><p>A collection of <code><a href="Avail.html#t:AvailInfo">AvailInfo</a></code> - several things that are "available" </p></div></div><div class="top"><p class="src"><span class="keyword">data</span> <a name="t:AvailInfo" class="def">AvailInfo</a> </p><div class="doc"><p>Records what things are <a href="available.html">available</a>, i.e. in scope </p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:Avail" class="def">Avail</a> <a href="Name.html#t:Name">Name</a></td><td class="doc"><p>An ordinary identifier in scope </p></td></tr><tr><td class="src"><a name="v:AvailTC" class="def">AvailTC</a> <a href="Name.html#t:Name">Name</a> [<a href="Name.html#t:Name">Name</a>]</td><td class="doc"><p>A type or class in scope. Parameters: </p><p>1) The name of the type or class 2) The available pieces of type or class. </p><p>The AvailTC Invariant: * If the type or class is itself to be in scope, it must be *first* in this list. Thus, typically: <code>AvailTC Eq [Eq, ==, /=]</code> </p></td></tr></table></div><div class="subs instances"><p id="control.i:AvailInfo" class="caption collapser" onclick="toggleSection('i:AvailInfo')">Instances</p><div id="section.i:AvailInfo" class="show"><table><tr><td class="src"><a href="../base-4.5.1.0/Data-Eq.html#t:Eq">Eq</a> <a href="Avail.html#t:AvailInfo">AvailInfo</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a href="Outputable.html#t:Outputable">Outputable</a> <a href="Avail.html#t:AvailInfo">AvailInfo</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a href="Binary.html#t:Binary">Binary</a> <a href="Avail.html#t:AvailInfo">AvailInfo</a></td><td class="doc empty"> </td></tr></table></div></div></div><div class="top"><p class="src"><a name="v:availsToNameSet" class="def">availsToNameSet</a> :: [<a href="Avail.html#t:AvailInfo">AvailInfo</a>] -> <a href="NameSet.html#t:NameSet">NameSet</a></p></div><div class="top"><p class="src"><a name="v:availsToNameEnv" class="def">availsToNameEnv</a> :: [<a href="Avail.html#t:AvailInfo">AvailInfo</a>] -> <a href="NameEnv.html#t:NameEnv">NameEnv</a> <a href="Avail.html#t:AvailInfo">AvailInfo</a></p></div><div class="top"><p class="src"><a name="v:availName" class="def">availName</a> :: <a href="Avail.html#t:AvailInfo">AvailInfo</a> -> <a href="Name.html#t:Name">Name</a></p><div class="doc"><p>Just the main name made available, i.e. not the available pieces of type or class brought into scope by the <code>GenAvailInfo</code> </p></div></div><div class="top"><p class="src"><a name="v:availNames" class="def">availNames</a> :: <a href="Avail.html#t:AvailInfo">AvailInfo</a> -> [<a href="Name.html#t:Name">Name</a>]</p><div class="doc"><p>All names made available by the availability information </p></div></div><div class="top"><p class="src"><a name="v:stableAvailCmp" class="def">stableAvailCmp</a> :: <a href="Avail.html#t:AvailInfo">AvailInfo</a> -> <a href="Avail.html#t:AvailInfo">AvailInfo</a> -> <a href="../base-4.5.1.0/Data-Ord.html#t:Ordering">Ordering</a></p><div class="doc"><p>Compare lexicographically </p></div></div><div class="top"><p class="src"><a name="v:gresFromAvails" class="def">gresFromAvails</a> :: <a href="RdrName.html#t:Provenance">Provenance</a> -> [<a href="Avail.html#t:AvailInfo">AvailInfo</a>] -> [<a href="RdrName.html#t:GlobalRdrElt">GlobalRdrElt</a>]</p><div class="doc"><p>make a <code><a href="RdrName.html#t:GlobalRdrEnv">GlobalRdrEnv</a></code> where all the elements point to the same Provenance (useful for <a href="hiding.html">hiding</a> imports, or imports with no details). </p></div></div><div class="top"><p class="src"><a name="v:gresFromAvail" class="def">gresFromAvail</a> :: (<a href="Name.html#t:Name">Name</a> -> <a href="RdrName.html#t:Provenance">Provenance</a>) -> <a href="Avail.html#t:AvailInfo">AvailInfo</a> -> [<a href="RdrName.html#t:GlobalRdrElt">GlobalRdrElt</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>