packages feed

Cabal-3.0.0.0: doc/API/Cabal/Distribution-Types-VersionInterval.html

<!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>Distribution.Types.VersionInterval</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><link rel="stylesheet" type="text/css" href="quick-jump.css" /><script src="haddock-bundle.min.js" async="async" type="text/javascript"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></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">Cabal-3.0.0.0: A framework for packaging Haskell software</p></div><div id="content"><div id="module-header"><table class="info"><tr><th>Safe Haskell</th><td>None</td></tr><tr><th>Language</th><td>Haskell2010</td></tr></table><p class="caption">Distribution.Types.VersionInterval</p></div><div id="table-of-contents"><p class="caption">Contents</p><ul><li><a href="#g:1">Version intervals</a></li><li><a href="#g:2">Version intervals view</a></li></ul></div><div id="synopsis"><details id="syn"><summary>Synopsis</summary><ul class="details-toggle" data-details-id="syn"><li class="src short"><span class="keyword">data</span> <a href="#t:VersionIntervals">VersionIntervals</a></li><li class="src short"><a href="#v:toVersionIntervals">toVersionIntervals</a> :: <a href="Distribution-Types-VersionRange-Internal.html#t:VersionRange" title="Distribution.Types.VersionRange.Internal">VersionRange</a> -&gt; <a href="Distribution-Types-VersionInterval.html#t:VersionIntervals" title="Distribution.Types.VersionInterval">VersionIntervals</a></li><li class="src short"><a href="#v:fromVersionIntervals">fromVersionIntervals</a> :: <a href="Distribution-Types-VersionInterval.html#t:VersionIntervals" title="Distribution.Types.VersionInterval">VersionIntervals</a> -&gt; <a href="Distribution-Types-VersionRange-Internal.html#t:VersionRange" title="Distribution.Types.VersionRange.Internal">VersionRange</a></li><li class="src short"><a href="#v:withinIntervals">withinIntervals</a> :: <a href="Distribution-Types-Version.html#t:Version" title="Distribution.Types.Version">Version</a> -&gt; <a href="Distribution-Types-VersionInterval.html#t:VersionIntervals" title="Distribution.Types.VersionInterval">VersionIntervals</a> -&gt; <a href="Distribution-Compat-Prelude-Internal.html#t:Bool" title="Distribution.Compat.Prelude.Internal">Bool</a></li><li class="src short"><a href="#v:versionIntervals">versionIntervals</a> :: <a href="Distribution-Types-VersionInterval.html#t:VersionIntervals" title="Distribution.Types.VersionInterval">VersionIntervals</a> -&gt; [<a href="Distribution-Types-VersionInterval.html#t:VersionInterval" title="Distribution.Types.VersionInterval">VersionInterval</a>]</li><li class="src short"><a href="#v:mkVersionIntervals">mkVersionIntervals</a> :: [<a href="Distribution-Types-VersionInterval.html#t:VersionInterval" title="Distribution.Types.VersionInterval">VersionInterval</a>] -&gt; <a href="Distribution-Types-VersionInterval.html#t:VersionIntervals" title="Distribution.Types.VersionInterval">VersionIntervals</a></li><li class="src short"><a href="#v:unionVersionIntervals">unionVersionIntervals</a> :: <a href="Distribution-Types-VersionInterval.html#t:VersionIntervals" title="Distribution.Types.VersionInterval">VersionIntervals</a> -&gt; <a href="Distribution-Types-VersionInterval.html#t:VersionIntervals" title="Distribution.Types.VersionInterval">VersionIntervals</a> -&gt; <a href="Distribution-Types-VersionInterval.html#t:VersionIntervals" title="Distribution.Types.VersionInterval">VersionIntervals</a></li><li class="src short"><a href="#v:intersectVersionIntervals">intersectVersionIntervals</a> :: <a href="Distribution-Types-VersionInterval.html#t:VersionIntervals" title="Distribution.Types.VersionInterval">VersionIntervals</a> -&gt; <a href="Distribution-Types-VersionInterval.html#t:VersionIntervals" title="Distribution.Types.VersionInterval">VersionIntervals</a> -&gt; <a href="Distribution-Types-VersionInterval.html#t:VersionIntervals" title="Distribution.Types.VersionInterval">VersionIntervals</a></li><li class="src short"><a href="#v:invertVersionIntervals">invertVersionIntervals</a> :: <a href="Distribution-Types-VersionInterval.html#t:VersionIntervals" title="Distribution.Types.VersionInterval">VersionIntervals</a> -&gt; <a href="Distribution-Types-VersionInterval.html#t:VersionIntervals" title="Distribution.Types.VersionInterval">VersionIntervals</a></li><li class="src short"><a href="#v:relaxLastInterval">relaxLastInterval</a> :: <a href="Distribution-Types-VersionInterval.html#t:VersionIntervals" title="Distribution.Types.VersionInterval">VersionIntervals</a> -&gt; <a href="Distribution-Types-VersionInterval.html#t:VersionIntervals" title="Distribution.Types.VersionInterval">VersionIntervals</a></li><li class="src short"><a href="#v:relaxHeadInterval">relaxHeadInterval</a> :: <a href="Distribution-Types-VersionInterval.html#t:VersionIntervals" title="Distribution.Types.VersionInterval">VersionIntervals</a> -&gt; <a href="Distribution-Types-VersionInterval.html#t:VersionIntervals" title="Distribution.Types.VersionInterval">VersionIntervals</a></li><li class="src short"><a href="#v:asVersionIntervals">asVersionIntervals</a> :: <a href="Distribution-Types-VersionRange-Internal.html#t:VersionRange" title="Distribution.Types.VersionRange.Internal">VersionRange</a> -&gt; [<a href="Distribution-Types-VersionInterval.html#t:VersionInterval" title="Distribution.Types.VersionInterval">VersionInterval</a>]</li><li class="src short"><span class="keyword">type</span> <a href="#t:VersionInterval">VersionInterval</a> = (<a href="Distribution-Types-VersionInterval.html#t:LowerBound" title="Distribution.Types.VersionInterval">LowerBound</a>, <a href="Distribution-Types-VersionInterval.html#t:UpperBound" title="Distribution.Types.VersionInterval">UpperBound</a>)</li><li class="src short"><span class="keyword">data</span> <a href="#t:LowerBound">LowerBound</a> = <a href="#v:LowerBound">LowerBound</a> <a href="Distribution-Types-Version.html#t:Version" title="Distribution.Types.Version">Version</a> !<a href="Distribution-Types-VersionInterval.html#t:Bound" title="Distribution.Types.VersionInterval">Bound</a></li><li class="src short"><span class="keyword">data</span> <a href="#t:UpperBound">UpperBound</a><ul class="subs"><li>= <a href="#v:NoUpperBound">NoUpperBound</a></li><li>| <a href="#v:UpperBound">UpperBound</a> <a href="Distribution-Types-Version.html#t:Version" title="Distribution.Types.Version">Version</a> !<a href="Distribution-Types-VersionInterval.html#t:Bound" title="Distribution.Types.VersionInterval">Bound</a></li></ul></li><li class="src short"><span class="keyword">data</span> <a href="#t:Bound">Bound</a><ul class="subs"><li>= <a href="#v:ExclusiveBound">ExclusiveBound</a></li><li>| <a href="#v:InclusiveBound">InclusiveBound</a></li></ul></li></ul></details></div><div id="interface"><a href="#g:1" id="g:1"><h1>Version intervals</h1></a><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:VersionIntervals" class="def">VersionIntervals</a> <a href="#t:VersionIntervals" class="selflink">#</a></p><div class="doc"><p>A complementary representation of a <code><a href="Distribution-Types-VersionRange-Internal.html#t:VersionRange" title="Distribution.Types.VersionRange.Internal">VersionRange</a></code>. Instead of a boolean
 version predicate it uses an increasing sequence of non-overlapping,
 non-empty intervals.</p><p>The key point is that this representation gives a canonical representation
 for the semantics of <code><a href="Distribution-Types-VersionRange-Internal.html#t:VersionRange" title="Distribution.Types.VersionRange.Internal">VersionRange</a></code>s. This makes it easier to check things
 like whether a version range is empty, covers all versions, or requires a
 certain minimum or maximum version. It also makes it easy to check equality
 or containment. It also makes it easier to identify 'simple' version
 predicates for translation into foreign packaging systems that do not
 support complex version range expressions.</p></div><div class="subs instances"><details id="i:VersionIntervals" open="open"><summary>Instances</summary><table><tr><td class="src clearfix"><span class="inst-left"><span class="instance details-toggle-control details-toggle" data-details-id="i:id:VersionIntervals:Eq:1"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Eq" title="Distribution.Compat.Prelude.Internal">Eq</a> <a href="Distribution-Types-VersionInterval.html#t:VersionIntervals" title="Distribution.Types.VersionInterval">VersionIntervals</a></span> <a href="#t:VersionIntervals" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><details id="i:id:VersionIntervals:Eq:1"><summary class="hide-when-js-enabled">Instance details</summary><p>Defined in <a href="Distribution-Types-VersionInterval.html">Distribution.Types.VersionInterval</a></p> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-61--61-">(==)</a> :: <a href="Distribution-Types-VersionInterval.html#t:VersionIntervals" title="Distribution.Types.VersionInterval">VersionIntervals</a> -&gt; <a href="Distribution-Types-VersionInterval.html#t:VersionIntervals" title="Distribution.Types.VersionInterval">VersionIntervals</a> -&gt; <a href="Distribution-Compat-Prelude-Internal.html#t:Bool" title="Distribution.Compat.Prelude.Internal">Bool</a> <a href="#v:-61--61-" class="selflink">#</a></p><p class="src"><a href="#v:-47--61-">(/=)</a> :: <a href="Distribution-Types-VersionInterval.html#t:VersionIntervals" title="Distribution.Types.VersionInterval">VersionIntervals</a> -&gt; <a href="Distribution-Types-VersionInterval.html#t:VersionIntervals" title="Distribution.Types.VersionInterval">VersionIntervals</a> -&gt; <a href="Distribution-Compat-Prelude-Internal.html#t:Bool" title="Distribution.Compat.Prelude.Internal">Bool</a> <a href="#v:-47--61-" class="selflink">#</a></p></div></details></td></tr><tr><td class="src clearfix"><span class="inst-left"><span class="instance details-toggle-control details-toggle" data-details-id="i:id:VersionIntervals:Show:2"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Show" title="Distribution.Compat.Prelude.Internal">Show</a> <a href="Distribution-Types-VersionInterval.html#t:VersionIntervals" title="Distribution.Types.VersionInterval">VersionIntervals</a></span> <a href="#t:VersionIntervals" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><details id="i:id:VersionIntervals:Show:2"><summary class="hide-when-js-enabled">Instance details</summary><p>Defined in <a href="Distribution-Types-VersionInterval.html">Distribution.Types.VersionInterval</a></p> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:showsPrec">showsPrec</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Int" title="Distribution.Compat.Prelude.Internal">Int</a> -&gt; <a href="Distribution-Types-VersionInterval.html#t:VersionIntervals" title="Distribution.Types.VersionInterval">VersionIntervals</a> -&gt; <a href="Distribution-Compat-Prelude-Internal.html#t:ShowS" title="Distribution.Compat.Prelude.Internal">ShowS</a> <a href="#v:showsPrec" class="selflink">#</a></p><p class="src"><a href="#v:show">show</a> :: <a href="Distribution-Types-VersionInterval.html#t:VersionIntervals" title="Distribution.Types.VersionInterval">VersionIntervals</a> -&gt; <a href="Distribution-Compat-Prelude-Internal.html#t:String" title="Distribution.Compat.Prelude.Internal">String</a> <a href="#v:show" class="selflink">#</a></p><p class="src"><a href="#v:showList">showList</a> :: [<a href="Distribution-Types-VersionInterval.html#t:VersionIntervals" title="Distribution.Types.VersionInterval">VersionIntervals</a>] -&gt; <a href="Distribution-Compat-Prelude-Internal.html#t:ShowS" title="Distribution.Compat.Prelude.Internal">ShowS</a> <a href="#v:showList" class="selflink">#</a></p></div></details></td></tr></table></details></div></div><div class="top"><p class="src"><a id="v:toVersionIntervals" class="def">toVersionIntervals</a> :: <a href="Distribution-Types-VersionRange-Internal.html#t:VersionRange" title="Distribution.Types.VersionRange.Internal">VersionRange</a> -&gt; <a href="Distribution-Types-VersionInterval.html#t:VersionIntervals" title="Distribution.Types.VersionInterval">VersionIntervals</a> <a href="#v:toVersionIntervals" class="selflink">#</a></p><div class="doc"><p>Convert a <code><a href="Distribution-Types-VersionRange-Internal.html#t:VersionRange" title="Distribution.Types.VersionRange.Internal">VersionRange</a></code> to a sequence of version intervals.</p></div></div><div class="top"><p class="src"><a id="v:fromVersionIntervals" class="def">fromVersionIntervals</a> :: <a href="Distribution-Types-VersionInterval.html#t:VersionIntervals" title="Distribution.Types.VersionInterval">VersionIntervals</a> -&gt; <a href="Distribution-Types-VersionRange-Internal.html#t:VersionRange" title="Distribution.Types.VersionRange.Internal">VersionRange</a> <a href="#v:fromVersionIntervals" class="selflink">#</a></p><div class="doc"><p>Convert a <code><a href="Distribution-Types-VersionInterval.html#t:VersionIntervals" title="Distribution.Types.VersionInterval">VersionIntervals</a></code> value back into a <code><a href="Distribution-Types-VersionRange-Internal.html#t:VersionRange" title="Distribution.Types.VersionRange.Internal">VersionRange</a></code> expression
 representing the version intervals.</p></div></div><div class="top"><p class="src"><a id="v:withinIntervals" class="def">withinIntervals</a> :: <a href="Distribution-Types-Version.html#t:Version" title="Distribution.Types.Version">Version</a> -&gt; <a href="Distribution-Types-VersionInterval.html#t:VersionIntervals" title="Distribution.Types.VersionInterval">VersionIntervals</a> -&gt; <a href="Distribution-Compat-Prelude-Internal.html#t:Bool" title="Distribution.Compat.Prelude.Internal">Bool</a> <a href="#v:withinIntervals" class="selflink">#</a></p><div class="doc"><p>Test if a version falls within the version intervals.</p><p>It exists mostly for completeness and testing. It satisfies the following
 properties:</p><pre>withinIntervals v (toVersionIntervals vr) = withinRange v vr
withinIntervals v ivs = withinRange v (fromVersionIntervals ivs)</pre></div></div><div class="top"><p class="src"><a id="v:versionIntervals" class="def">versionIntervals</a> :: <a href="Distribution-Types-VersionInterval.html#t:VersionIntervals" title="Distribution.Types.VersionInterval">VersionIntervals</a> -&gt; [<a href="Distribution-Types-VersionInterval.html#t:VersionInterval" title="Distribution.Types.VersionInterval">VersionInterval</a>] <a href="#v:versionIntervals" class="selflink">#</a></p><div class="doc"><p>Inspect the list of version intervals.</p></div></div><div class="top"><p class="src"><a id="v:mkVersionIntervals" class="def">mkVersionIntervals</a> :: [<a href="Distribution-Types-VersionInterval.html#t:VersionInterval" title="Distribution.Types.VersionInterval">VersionInterval</a>] -&gt; <a href="Distribution-Types-VersionInterval.html#t:VersionIntervals" title="Distribution.Types.VersionInterval">VersionIntervals</a> <a href="#v:mkVersionIntervals" class="selflink">#</a></p><div class="doc"><p>Directly construct a <code><a href="Distribution-Types-VersionInterval.html#t:VersionIntervals" title="Distribution.Types.VersionInterval">VersionIntervals</a></code> from a list of intervals.</p><p>In <code>Cabal-2.2</code> the <code><a href="Distribution-Compat-Prelude-Internal.html#t:Maybe" title="Distribution.Compat.Prelude.Internal">Maybe</a></code> is dropped from the result type.</p></div></div><div class="top"><p class="src"><a id="v:unionVersionIntervals" class="def">unionVersionIntervals</a> :: <a href="Distribution-Types-VersionInterval.html#t:VersionIntervals" title="Distribution.Types.VersionInterval">VersionIntervals</a> -&gt; <a href="Distribution-Types-VersionInterval.html#t:VersionIntervals" title="Distribution.Types.VersionInterval">VersionIntervals</a> -&gt; <a href="Distribution-Types-VersionInterval.html#t:VersionIntervals" title="Distribution.Types.VersionInterval">VersionIntervals</a> <a href="#v:unionVersionIntervals" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:intersectVersionIntervals" class="def">intersectVersionIntervals</a> :: <a href="Distribution-Types-VersionInterval.html#t:VersionIntervals" title="Distribution.Types.VersionInterval">VersionIntervals</a> -&gt; <a href="Distribution-Types-VersionInterval.html#t:VersionIntervals" title="Distribution.Types.VersionInterval">VersionIntervals</a> -&gt; <a href="Distribution-Types-VersionInterval.html#t:VersionIntervals" title="Distribution.Types.VersionInterval">VersionIntervals</a> <a href="#v:intersectVersionIntervals" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:invertVersionIntervals" class="def">invertVersionIntervals</a> :: <a href="Distribution-Types-VersionInterval.html#t:VersionIntervals" title="Distribution.Types.VersionInterval">VersionIntervals</a> -&gt; <a href="Distribution-Types-VersionInterval.html#t:VersionIntervals" title="Distribution.Types.VersionInterval">VersionIntervals</a> <a href="#v:invertVersionIntervals" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:relaxLastInterval" class="def">relaxLastInterval</a> :: <a href="Distribution-Types-VersionInterval.html#t:VersionIntervals" title="Distribution.Types.VersionInterval">VersionIntervals</a> -&gt; <a href="Distribution-Types-VersionInterval.html#t:VersionIntervals" title="Distribution.Types.VersionInterval">VersionIntervals</a> <a href="#v:relaxLastInterval" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:relaxHeadInterval" class="def">relaxHeadInterval</a> :: <a href="Distribution-Types-VersionInterval.html#t:VersionIntervals" title="Distribution.Types.VersionInterval">VersionIntervals</a> -&gt; <a href="Distribution-Types-VersionInterval.html#t:VersionIntervals" title="Distribution.Types.VersionInterval">VersionIntervals</a> <a href="#v:relaxHeadInterval" class="selflink">#</a></p></div><a href="#g:2" id="g:2"><h1>Version intervals view</h1></a><div class="top"><p class="src"><a id="v:asVersionIntervals" class="def">asVersionIntervals</a> :: <a href="Distribution-Types-VersionRange-Internal.html#t:VersionRange" title="Distribution.Types.VersionRange.Internal">VersionRange</a> -&gt; [<a href="Distribution-Types-VersionInterval.html#t:VersionInterval" title="Distribution.Types.VersionInterval">VersionInterval</a>] <a href="#v:asVersionIntervals" class="selflink">#</a></p><div class="doc"><p>View a <code><a href="Distribution-Types-VersionRange-Internal.html#t:VersionRange" title="Distribution.Types.VersionRange.Internal">VersionRange</a></code> as a union of intervals.</p><p>This provides a canonical view of the semantics of a <code><a href="Distribution-Types-VersionRange-Internal.html#t:VersionRange" title="Distribution.Types.VersionRange.Internal">VersionRange</a></code> as
 opposed to the syntax of the expression used to define it. For the syntactic
 view use <code><a href="Distribution-Types-VersionRange.html#v:foldVersionRange" title="Distribution.Types.VersionRange">foldVersionRange</a></code>.</p><p>Each interval is non-empty. The sequence is in increasing order and no
 intervals overlap or touch. Therefore only the first and last can be
 unbounded. The sequence can be empty if the range is empty
 (e.g. a range expression like <code><a href="1">&amp;&amp;</a> 2</code>).</p><p>Other checks are trivial to implement using this view. For example:</p><pre>isNoVersion vr | [] &lt;- asVersionIntervals vr = True
               | otherwise                   = False</pre><pre>isSpecificVersion vr
   | [(LowerBound v  InclusiveBound
      ,UpperBound v' InclusiveBound)] &lt;- asVersionIntervals vr
   , v == v'   = Just v
   | otherwise = Nothing</pre></div></div><div class="top"><p class="src"><span class="keyword">type</span> <a id="t:VersionInterval" class="def">VersionInterval</a> = (<a href="Distribution-Types-VersionInterval.html#t:LowerBound" title="Distribution.Types.VersionInterval">LowerBound</a>, <a href="Distribution-Types-VersionInterval.html#t:UpperBound" title="Distribution.Types.VersionInterval">UpperBound</a>) <a href="#t:VersionInterval" class="selflink">#</a></p></div><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:LowerBound" class="def">LowerBound</a> <a href="#t:LowerBound" class="selflink">#</a></p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:LowerBound" class="def">LowerBound</a> <a href="Distribution-Types-Version.html#t:Version" title="Distribution.Types.Version">Version</a> !<a href="Distribution-Types-VersionInterval.html#t:Bound" title="Distribution.Types.VersionInterval">Bound</a></td><td class="doc empty">&nbsp;</td></tr></table></div><div class="subs instances"><details id="i:LowerBound" open="open"><summary>Instances</summary><table><tr><td class="src clearfix"><span class="inst-left"><span class="instance details-toggle-control details-toggle" data-details-id="i:id:LowerBound:Eq:1"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Eq" title="Distribution.Compat.Prelude.Internal">Eq</a> <a href="Distribution-Types-VersionInterval.html#t:LowerBound" title="Distribution.Types.VersionInterval">LowerBound</a></span> <a href="#t:LowerBound" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><details id="i:id:LowerBound:Eq:1"><summary class="hide-when-js-enabled">Instance details</summary><p>Defined in <a href="Distribution-Types-VersionInterval.html">Distribution.Types.VersionInterval</a></p> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-61--61-">(==)</a> :: <a href="Distribution-Types-VersionInterval.html#t:LowerBound" title="Distribution.Types.VersionInterval">LowerBound</a> -&gt; <a href="Distribution-Types-VersionInterval.html#t:LowerBound" title="Distribution.Types.VersionInterval">LowerBound</a> -&gt; <a href="Distribution-Compat-Prelude-Internal.html#t:Bool" title="Distribution.Compat.Prelude.Internal">Bool</a> <a href="#v:-61--61-" class="selflink">#</a></p><p class="src"><a href="#v:-47--61-">(/=)</a> :: <a href="Distribution-Types-VersionInterval.html#t:LowerBound" title="Distribution.Types.VersionInterval">LowerBound</a> -&gt; <a href="Distribution-Types-VersionInterval.html#t:LowerBound" title="Distribution.Types.VersionInterval">LowerBound</a> -&gt; <a href="Distribution-Compat-Prelude-Internal.html#t:Bool" title="Distribution.Compat.Prelude.Internal">Bool</a> <a href="#v:-47--61-" class="selflink">#</a></p></div></details></td></tr><tr><td class="src clearfix"><span class="inst-left"><span class="instance details-toggle-control details-toggle" data-details-id="i:id:LowerBound:Ord:2"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Ord" title="Distribution.Compat.Prelude.Internal">Ord</a> <a href="Distribution-Types-VersionInterval.html#t:LowerBound" title="Distribution.Types.VersionInterval">LowerBound</a></span> <a href="#t:LowerBound" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><details id="i:id:LowerBound:Ord:2"><summary class="hide-when-js-enabled">Instance details</summary><p>Defined in <a href="Distribution-Types-VersionInterval.html">Distribution.Types.VersionInterval</a></p> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:compare">compare</a> :: <a href="Distribution-Types-VersionInterval.html#t:LowerBound" title="Distribution.Types.VersionInterval">LowerBound</a> -&gt; <a href="Distribution-Types-VersionInterval.html#t:LowerBound" title="Distribution.Types.VersionInterval">LowerBound</a> -&gt; <a href="Distribution-Compat-Prelude-Internal.html#t:Ordering" title="Distribution.Compat.Prelude.Internal">Ordering</a> <a href="#v:compare" class="selflink">#</a></p><p class="src"><a href="#v:-60-">(&lt;)</a> :: <a href="Distribution-Types-VersionInterval.html#t:LowerBound" title="Distribution.Types.VersionInterval">LowerBound</a> -&gt; <a href="Distribution-Types-VersionInterval.html#t:LowerBound" title="Distribution.Types.VersionInterval">LowerBound</a> -&gt; <a href="Distribution-Compat-Prelude-Internal.html#t:Bool" title="Distribution.Compat.Prelude.Internal">Bool</a> <a href="#v:-60-" class="selflink">#</a></p><p class="src"><a href="#v:-60--61-">(&lt;=)</a> :: <a href="Distribution-Types-VersionInterval.html#t:LowerBound" title="Distribution.Types.VersionInterval">LowerBound</a> -&gt; <a href="Distribution-Types-VersionInterval.html#t:LowerBound" title="Distribution.Types.VersionInterval">LowerBound</a> -&gt; <a href="Distribution-Compat-Prelude-Internal.html#t:Bool" title="Distribution.Compat.Prelude.Internal">Bool</a> <a href="#v:-60--61-" class="selflink">#</a></p><p class="src"><a href="#v:-62-">(&gt;)</a> :: <a href="Distribution-Types-VersionInterval.html#t:LowerBound" title="Distribution.Types.VersionInterval">LowerBound</a> -&gt; <a href="Distribution-Types-VersionInterval.html#t:LowerBound" title="Distribution.Types.VersionInterval">LowerBound</a> -&gt; <a href="Distribution-Compat-Prelude-Internal.html#t:Bool" title="Distribution.Compat.Prelude.Internal">Bool</a> <a href="#v:-62-" class="selflink">#</a></p><p class="src"><a href="#v:-62--61-">(&gt;=)</a> :: <a href="Distribution-Types-VersionInterval.html#t:LowerBound" title="Distribution.Types.VersionInterval">LowerBound</a> -&gt; <a href="Distribution-Types-VersionInterval.html#t:LowerBound" title="Distribution.Types.VersionInterval">LowerBound</a> -&gt; <a href="Distribution-Compat-Prelude-Internal.html#t:Bool" title="Distribution.Compat.Prelude.Internal">Bool</a> <a href="#v:-62--61-" class="selflink">#</a></p><p class="src"><a href="#v:max">max</a> :: <a href="Distribution-Types-VersionInterval.html#t:LowerBound" title="Distribution.Types.VersionInterval">LowerBound</a> -&gt; <a href="Distribution-Types-VersionInterval.html#t:LowerBound" title="Distribution.Types.VersionInterval">LowerBound</a> -&gt; <a href="Distribution-Types-VersionInterval.html#t:LowerBound" title="Distribution.Types.VersionInterval">LowerBound</a> <a href="#v:max" class="selflink">#</a></p><p class="src"><a href="#v:min">min</a> :: <a href="Distribution-Types-VersionInterval.html#t:LowerBound" title="Distribution.Types.VersionInterval">LowerBound</a> -&gt; <a href="Distribution-Types-VersionInterval.html#t:LowerBound" title="Distribution.Types.VersionInterval">LowerBound</a> -&gt; <a href="Distribution-Types-VersionInterval.html#t:LowerBound" title="Distribution.Types.VersionInterval">LowerBound</a> <a href="#v:min" class="selflink">#</a></p></div></details></td></tr><tr><td class="src clearfix"><span class="inst-left"><span class="instance details-toggle-control details-toggle" data-details-id="i:id:LowerBound:Show:3"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Show" title="Distribution.Compat.Prelude.Internal">Show</a> <a href="Distribution-Types-VersionInterval.html#t:LowerBound" title="Distribution.Types.VersionInterval">LowerBound</a></span> <a href="#t:LowerBound" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><details id="i:id:LowerBound:Show:3"><summary class="hide-when-js-enabled">Instance details</summary><p>Defined in <a href="Distribution-Types-VersionInterval.html">Distribution.Types.VersionInterval</a></p> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:showsPrec">showsPrec</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Int" title="Distribution.Compat.Prelude.Internal">Int</a> -&gt; <a href="Distribution-Types-VersionInterval.html#t:LowerBound" title="Distribution.Types.VersionInterval">LowerBound</a> -&gt; <a href="Distribution-Compat-Prelude-Internal.html#t:ShowS" title="Distribution.Compat.Prelude.Internal">ShowS</a> <a href="#v:showsPrec" class="selflink">#</a></p><p class="src"><a href="#v:show">show</a> :: <a href="Distribution-Types-VersionInterval.html#t:LowerBound" title="Distribution.Types.VersionInterval">LowerBound</a> -&gt; <a href="Distribution-Compat-Prelude-Internal.html#t:String" title="Distribution.Compat.Prelude.Internal">String</a> <a href="#v:show" class="selflink">#</a></p><p class="src"><a href="#v:showList">showList</a> :: [<a href="Distribution-Types-VersionInterval.html#t:LowerBound" title="Distribution.Types.VersionInterval">LowerBound</a>] -&gt; <a href="Distribution-Compat-Prelude-Internal.html#t:ShowS" title="Distribution.Compat.Prelude.Internal">ShowS</a> <a href="#v:showList" class="selflink">#</a></p></div></details></td></tr></table></details></div></div><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:UpperBound" class="def">UpperBound</a> <a href="#t:UpperBound" class="selflink">#</a></p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:NoUpperBound" class="def">NoUpperBound</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a id="v:UpperBound" class="def">UpperBound</a> <a href="Distribution-Types-Version.html#t:Version" title="Distribution.Types.Version">Version</a> !<a href="Distribution-Types-VersionInterval.html#t:Bound" title="Distribution.Types.VersionInterval">Bound</a></td><td class="doc empty">&nbsp;</td></tr></table></div><div class="subs instances"><details id="i:UpperBound" open="open"><summary>Instances</summary><table><tr><td class="src clearfix"><span class="inst-left"><span class="instance details-toggle-control details-toggle" data-details-id="i:id:UpperBound:Eq:1"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Eq" title="Distribution.Compat.Prelude.Internal">Eq</a> <a href="Distribution-Types-VersionInterval.html#t:UpperBound" title="Distribution.Types.VersionInterval">UpperBound</a></span> <a href="#t:UpperBound" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><details id="i:id:UpperBound:Eq:1"><summary class="hide-when-js-enabled">Instance details</summary><p>Defined in <a href="Distribution-Types-VersionInterval.html">Distribution.Types.VersionInterval</a></p> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-61--61-">(==)</a> :: <a href="Distribution-Types-VersionInterval.html#t:UpperBound" title="Distribution.Types.VersionInterval">UpperBound</a> -&gt; <a href="Distribution-Types-VersionInterval.html#t:UpperBound" title="Distribution.Types.VersionInterval">UpperBound</a> -&gt; <a href="Distribution-Compat-Prelude-Internal.html#t:Bool" title="Distribution.Compat.Prelude.Internal">Bool</a> <a href="#v:-61--61-" class="selflink">#</a></p><p class="src"><a href="#v:-47--61-">(/=)</a> :: <a href="Distribution-Types-VersionInterval.html#t:UpperBound" title="Distribution.Types.VersionInterval">UpperBound</a> -&gt; <a href="Distribution-Types-VersionInterval.html#t:UpperBound" title="Distribution.Types.VersionInterval">UpperBound</a> -&gt; <a href="Distribution-Compat-Prelude-Internal.html#t:Bool" title="Distribution.Compat.Prelude.Internal">Bool</a> <a href="#v:-47--61-" class="selflink">#</a></p></div></details></td></tr><tr><td class="src clearfix"><span class="inst-left"><span class="instance details-toggle-control details-toggle" data-details-id="i:id:UpperBound:Ord:2"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Ord" title="Distribution.Compat.Prelude.Internal">Ord</a> <a href="Distribution-Types-VersionInterval.html#t:UpperBound" title="Distribution.Types.VersionInterval">UpperBound</a></span> <a href="#t:UpperBound" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><details id="i:id:UpperBound:Ord:2"><summary class="hide-when-js-enabled">Instance details</summary><p>Defined in <a href="Distribution-Types-VersionInterval.html">Distribution.Types.VersionInterval</a></p> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:compare">compare</a> :: <a href="Distribution-Types-VersionInterval.html#t:UpperBound" title="Distribution.Types.VersionInterval">UpperBound</a> -&gt; <a href="Distribution-Types-VersionInterval.html#t:UpperBound" title="Distribution.Types.VersionInterval">UpperBound</a> -&gt; <a href="Distribution-Compat-Prelude-Internal.html#t:Ordering" title="Distribution.Compat.Prelude.Internal">Ordering</a> <a href="#v:compare" class="selflink">#</a></p><p class="src"><a href="#v:-60-">(&lt;)</a> :: <a href="Distribution-Types-VersionInterval.html#t:UpperBound" title="Distribution.Types.VersionInterval">UpperBound</a> -&gt; <a href="Distribution-Types-VersionInterval.html#t:UpperBound" title="Distribution.Types.VersionInterval">UpperBound</a> -&gt; <a href="Distribution-Compat-Prelude-Internal.html#t:Bool" title="Distribution.Compat.Prelude.Internal">Bool</a> <a href="#v:-60-" class="selflink">#</a></p><p class="src"><a href="#v:-60--61-">(&lt;=)</a> :: <a href="Distribution-Types-VersionInterval.html#t:UpperBound" title="Distribution.Types.VersionInterval">UpperBound</a> -&gt; <a href="Distribution-Types-VersionInterval.html#t:UpperBound" title="Distribution.Types.VersionInterval">UpperBound</a> -&gt; <a href="Distribution-Compat-Prelude-Internal.html#t:Bool" title="Distribution.Compat.Prelude.Internal">Bool</a> <a href="#v:-60--61-" class="selflink">#</a></p><p class="src"><a href="#v:-62-">(&gt;)</a> :: <a href="Distribution-Types-VersionInterval.html#t:UpperBound" title="Distribution.Types.VersionInterval">UpperBound</a> -&gt; <a href="Distribution-Types-VersionInterval.html#t:UpperBound" title="Distribution.Types.VersionInterval">UpperBound</a> -&gt; <a href="Distribution-Compat-Prelude-Internal.html#t:Bool" title="Distribution.Compat.Prelude.Internal">Bool</a> <a href="#v:-62-" class="selflink">#</a></p><p class="src"><a href="#v:-62--61-">(&gt;=)</a> :: <a href="Distribution-Types-VersionInterval.html#t:UpperBound" title="Distribution.Types.VersionInterval">UpperBound</a> -&gt; <a href="Distribution-Types-VersionInterval.html#t:UpperBound" title="Distribution.Types.VersionInterval">UpperBound</a> -&gt; <a href="Distribution-Compat-Prelude-Internal.html#t:Bool" title="Distribution.Compat.Prelude.Internal">Bool</a> <a href="#v:-62--61-" class="selflink">#</a></p><p class="src"><a href="#v:max">max</a> :: <a href="Distribution-Types-VersionInterval.html#t:UpperBound" title="Distribution.Types.VersionInterval">UpperBound</a> -&gt; <a href="Distribution-Types-VersionInterval.html#t:UpperBound" title="Distribution.Types.VersionInterval">UpperBound</a> -&gt; <a href="Distribution-Types-VersionInterval.html#t:UpperBound" title="Distribution.Types.VersionInterval">UpperBound</a> <a href="#v:max" class="selflink">#</a></p><p class="src"><a href="#v:min">min</a> :: <a href="Distribution-Types-VersionInterval.html#t:UpperBound" title="Distribution.Types.VersionInterval">UpperBound</a> -&gt; <a href="Distribution-Types-VersionInterval.html#t:UpperBound" title="Distribution.Types.VersionInterval">UpperBound</a> -&gt; <a href="Distribution-Types-VersionInterval.html#t:UpperBound" title="Distribution.Types.VersionInterval">UpperBound</a> <a href="#v:min" class="selflink">#</a></p></div></details></td></tr><tr><td class="src clearfix"><span class="inst-left"><span class="instance details-toggle-control details-toggle" data-details-id="i:id:UpperBound:Show:3"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Show" title="Distribution.Compat.Prelude.Internal">Show</a> <a href="Distribution-Types-VersionInterval.html#t:UpperBound" title="Distribution.Types.VersionInterval">UpperBound</a></span> <a href="#t:UpperBound" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><details id="i:id:UpperBound:Show:3"><summary class="hide-when-js-enabled">Instance details</summary><p>Defined in <a href="Distribution-Types-VersionInterval.html">Distribution.Types.VersionInterval</a></p> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:showsPrec">showsPrec</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Int" title="Distribution.Compat.Prelude.Internal">Int</a> -&gt; <a href="Distribution-Types-VersionInterval.html#t:UpperBound" title="Distribution.Types.VersionInterval">UpperBound</a> -&gt; <a href="Distribution-Compat-Prelude-Internal.html#t:ShowS" title="Distribution.Compat.Prelude.Internal">ShowS</a> <a href="#v:showsPrec" class="selflink">#</a></p><p class="src"><a href="#v:show">show</a> :: <a href="Distribution-Types-VersionInterval.html#t:UpperBound" title="Distribution.Types.VersionInterval">UpperBound</a> -&gt; <a href="Distribution-Compat-Prelude-Internal.html#t:String" title="Distribution.Compat.Prelude.Internal">String</a> <a href="#v:show" class="selflink">#</a></p><p class="src"><a href="#v:showList">showList</a> :: [<a href="Distribution-Types-VersionInterval.html#t:UpperBound" title="Distribution.Types.VersionInterval">UpperBound</a>] -&gt; <a href="Distribution-Compat-Prelude-Internal.html#t:ShowS" title="Distribution.Compat.Prelude.Internal">ShowS</a> <a href="#v:showList" class="selflink">#</a></p></div></details></td></tr></table></details></div></div><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:Bound" class="def">Bound</a> <a href="#t:Bound" class="selflink">#</a></p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:ExclusiveBound" class="def">ExclusiveBound</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a id="v:InclusiveBound" class="def">InclusiveBound</a></td><td class="doc empty">&nbsp;</td></tr></table></div><div class="subs instances"><details id="i:Bound" open="open"><summary>Instances</summary><table><tr><td class="src clearfix"><span class="inst-left"><span class="instance details-toggle-control details-toggle" data-details-id="i:id:Bound:Eq:1"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Eq" title="Distribution.Compat.Prelude.Internal">Eq</a> <a href="Distribution-Types-VersionInterval.html#t:Bound" title="Distribution.Types.VersionInterval">Bound</a></span> <a href="#t:Bound" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><details id="i:id:Bound:Eq:1"><summary class="hide-when-js-enabled">Instance details</summary><p>Defined in <a href="Distribution-Types-VersionInterval.html">Distribution.Types.VersionInterval</a></p> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-61--61-">(==)</a> :: <a href="Distribution-Types-VersionInterval.html#t:Bound" title="Distribution.Types.VersionInterval">Bound</a> -&gt; <a href="Distribution-Types-VersionInterval.html#t:Bound" title="Distribution.Types.VersionInterval">Bound</a> -&gt; <a href="Distribution-Compat-Prelude-Internal.html#t:Bool" title="Distribution.Compat.Prelude.Internal">Bool</a> <a href="#v:-61--61-" class="selflink">#</a></p><p class="src"><a href="#v:-47--61-">(/=)</a> :: <a href="Distribution-Types-VersionInterval.html#t:Bound" title="Distribution.Types.VersionInterval">Bound</a> -&gt; <a href="Distribution-Types-VersionInterval.html#t:Bound" title="Distribution.Types.VersionInterval">Bound</a> -&gt; <a href="Distribution-Compat-Prelude-Internal.html#t:Bool" title="Distribution.Compat.Prelude.Internal">Bool</a> <a href="#v:-47--61-" class="selflink">#</a></p></div></details></td></tr><tr><td class="src clearfix"><span class="inst-left"><span class="instance details-toggle-control details-toggle" data-details-id="i:id:Bound:Show:2"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Show" title="Distribution.Compat.Prelude.Internal">Show</a> <a href="Distribution-Types-VersionInterval.html#t:Bound" title="Distribution.Types.VersionInterval">Bound</a></span> <a href="#t:Bound" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><details id="i:id:Bound:Show:2"><summary class="hide-when-js-enabled">Instance details</summary><p>Defined in <a href="Distribution-Types-VersionInterval.html">Distribution.Types.VersionInterval</a></p> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:showsPrec">showsPrec</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Int" title="Distribution.Compat.Prelude.Internal">Int</a> -&gt; <a href="Distribution-Types-VersionInterval.html#t:Bound" title="Distribution.Types.VersionInterval">Bound</a> -&gt; <a href="Distribution-Compat-Prelude-Internal.html#t:ShowS" title="Distribution.Compat.Prelude.Internal">ShowS</a> <a href="#v:showsPrec" class="selflink">#</a></p><p class="src"><a href="#v:show">show</a> :: <a href="Distribution-Types-VersionInterval.html#t:Bound" title="Distribution.Types.VersionInterval">Bound</a> -&gt; <a href="Distribution-Compat-Prelude-Internal.html#t:String" title="Distribution.Compat.Prelude.Internal">String</a> <a href="#v:show" class="selflink">#</a></p><p class="src"><a href="#v:showList">showList</a> :: [<a href="Distribution-Types-VersionInterval.html#t:Bound" title="Distribution.Types.VersionInterval">Bound</a>] -&gt; <a href="Distribution-Compat-Prelude-Internal.html#t:ShowS" title="Distribution.Compat.Prelude.Internal">ShowS</a> <a href="#v:showList" class="selflink">#</a></p></div></details></td></tr></table></details></div></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.22.0</p></div></body></html>