packages feed

Cabal-2.2.0.1: doc/API/Cabal/Distribution-Version.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.Version</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-2.2.0.1: A framework for packaging Haskell software</p></div><div id="content"><div id="module-header"><table class="info"><tr><th valign="top">Copyright</th><td>Isaac Jones Simon Marlow 2003-2004<br />Duncan Coutts 2008</td></tr><tr><th>License</th><td>BSD3</td></tr><tr><th>Maintainer</th><td>cabal-devel@haskell.org</td></tr><tr><th>Portability</th><td>portable</td></tr><tr><th>Safe Haskell</th><td>None</td></tr><tr><th>Language</th><td>Haskell2010</td></tr></table><p class="caption">Distribution.Version</p></div><div id="table-of-contents"><p class="caption">Contents</p><ul><li><a href="#g:1">Package versions</a><ul><li><a href="#g:2">Backwards compatibility</a></li></ul></li><li><a href="#g:3">Version ranges</a><ul><li><a href="#g:4">Constructing</a></li><li><a href="#g:5">Inspection</a></li><li><a href="#g:6">Cata &amp; ana</a></li><li><a href="#g:7">Utilities</a></li><li><a href="#g:8">Modification</a></li></ul></li><li><a href="#g:9">Version intervals view</a><ul><li><a href="#g:10"><code>VersionIntervals</code> abstract type</a></li></ul></li></ul></div><div id="description"><p class="caption">Description</p><div class="doc"><p>Exports the <code><a href="Distribution-Version.html#t:Version" title="Distribution.Version">Version</a></code> type along with a parser and pretty printer. A version
 is something like <code>&quot;1.3.3&quot;</code>. It also defines the <code><a href="Distribution-Version.html#t:VersionRange" title="Distribution.Version">VersionRange</a></code> data
 types. Version ranges are like <code>&quot;&gt;= 1.2 &amp;&amp; &lt; 2&quot;</code>.</p></div></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:Version">Version</a></li><li class="src short"><a href="#v:version0">version0</a> :: <a href="Distribution-Version.html#t:Version" title="Distribution.Version">Version</a></li><li class="src short"><a href="#v:mkVersion">mkVersion</a> :: [<a href="Distribution-Compat-Prelude-Internal.html#t:Int" title="Distribution.Compat.Prelude.Internal">Int</a>] -&gt; <a href="Distribution-Version.html#t:Version" title="Distribution.Version">Version</a></li><li class="src short"><a href="#v:mkVersion-39-">mkVersion'</a> :: <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/Data-Version.html#t:Version" title="Data.Version">Version</a> -&gt; <a href="Distribution-Version.html#t:Version" title="Distribution.Version">Version</a></li><li class="src short"><a href="#v:versionNumbers">versionNumbers</a> :: <a href="Distribution-Version.html#t:Version" title="Distribution.Version">Version</a> -&gt; [<a href="Distribution-Compat-Prelude-Internal.html#t:Int" title="Distribution.Compat.Prelude.Internal">Int</a>]</li><li class="src short"><a href="#v:nullVersion">nullVersion</a> :: <a href="Distribution-Version.html#t:Version" title="Distribution.Version">Version</a></li><li class="src short"><a href="#v:alterVersion">alterVersion</a> :: ([<a href="Distribution-Compat-Prelude-Internal.html#t:Int" title="Distribution.Compat.Prelude.Internal">Int</a>] -&gt; [<a href="Distribution-Compat-Prelude-Internal.html#t:Int" title="Distribution.Compat.Prelude.Internal">Int</a>]) -&gt; <a href="Distribution-Version.html#t:Version" title="Distribution.Version">Version</a> -&gt; <a href="Distribution-Version.html#t:Version" title="Distribution.Version">Version</a></li><li class="src short"><a href="#v:showVersion">showVersion</a> :: <a href="Distribution-Version.html#t:Version" title="Distribution.Version">Version</a> -&gt; <a href="Distribution-Compat-Prelude-Internal.html#t:String" title="Distribution.Compat.Prelude.Internal">String</a></li><li class="src short"><span class="keyword">data</span> <a href="#t:VersionRange">VersionRange</a><ul class="subs"><li>= <a href="#v:AnyVersion">AnyVersion</a></li><li>| <a href="#v:ThisVersion">ThisVersion</a> <a href="Distribution-Version.html#t:Version" title="Distribution.Version">Version</a></li><li>| <a href="#v:LaterVersion">LaterVersion</a> <a href="Distribution-Version.html#t:Version" title="Distribution.Version">Version</a></li><li>| <a href="#v:OrLaterVersion">OrLaterVersion</a> <a href="Distribution-Version.html#t:Version" title="Distribution.Version">Version</a></li><li>| <a href="#v:EarlierVersion">EarlierVersion</a> <a href="Distribution-Version.html#t:Version" title="Distribution.Version">Version</a></li><li>| <a href="#v:OrEarlierVersion">OrEarlierVersion</a> <a href="Distribution-Version.html#t:Version" title="Distribution.Version">Version</a></li><li>| <a href="#v:WildcardVersion">WildcardVersion</a> <a href="Distribution-Version.html#t:Version" title="Distribution.Version">Version</a></li><li>| <a href="#v:MajorBoundVersion">MajorBoundVersion</a> <a href="Distribution-Version.html#t:Version" title="Distribution.Version">Version</a></li><li>| <a href="#v:UnionVersionRanges">UnionVersionRanges</a> <a href="Distribution-Version.html#t:VersionRange" title="Distribution.Version">VersionRange</a> <a href="Distribution-Version.html#t:VersionRange" title="Distribution.Version">VersionRange</a></li><li>| <a href="#v:IntersectVersionRanges">IntersectVersionRanges</a> <a href="Distribution-Version.html#t:VersionRange" title="Distribution.Version">VersionRange</a> <a href="Distribution-Version.html#t:VersionRange" title="Distribution.Version">VersionRange</a></li><li>| <a href="#v:VersionRangeParens">VersionRangeParens</a> <a href="Distribution-Version.html#t:VersionRange" title="Distribution.Version">VersionRange</a></li></ul></li><li class="src short"><a href="#v:anyVersion">anyVersion</a> :: <a href="Distribution-Version.html#t:VersionRange" title="Distribution.Version">VersionRange</a></li><li class="src short"><a href="#v:noVersion">noVersion</a> :: <a href="Distribution-Version.html#t:VersionRange" title="Distribution.Version">VersionRange</a></li><li class="src short"><a href="#v:thisVersion">thisVersion</a> :: <a href="Distribution-Version.html#t:Version" title="Distribution.Version">Version</a> -&gt; <a href="Distribution-Version.html#t:VersionRange" title="Distribution.Version">VersionRange</a></li><li class="src short"><a href="#v:notThisVersion">notThisVersion</a> :: <a href="Distribution-Version.html#t:Version" title="Distribution.Version">Version</a> -&gt; <a href="Distribution-Version.html#t:VersionRange" title="Distribution.Version">VersionRange</a></li><li class="src short"><a href="#v:laterVersion">laterVersion</a> :: <a href="Distribution-Version.html#t:Version" title="Distribution.Version">Version</a> -&gt; <a href="Distribution-Version.html#t:VersionRange" title="Distribution.Version">VersionRange</a></li><li class="src short"><a href="#v:earlierVersion">earlierVersion</a> :: <a href="Distribution-Version.html#t:Version" title="Distribution.Version">Version</a> -&gt; <a href="Distribution-Version.html#t:VersionRange" title="Distribution.Version">VersionRange</a></li><li class="src short"><a href="#v:orLaterVersion">orLaterVersion</a> :: <a href="Distribution-Version.html#t:Version" title="Distribution.Version">Version</a> -&gt; <a href="Distribution-Version.html#t:VersionRange" title="Distribution.Version">VersionRange</a></li><li class="src short"><a href="#v:orEarlierVersion">orEarlierVersion</a> :: <a href="Distribution-Version.html#t:Version" title="Distribution.Version">Version</a> -&gt; <a href="Distribution-Version.html#t:VersionRange" title="Distribution.Version">VersionRange</a></li><li class="src short"><a href="#v:unionVersionRanges">unionVersionRanges</a> :: <a href="Distribution-Version.html#t:VersionRange" title="Distribution.Version">VersionRange</a> -&gt; <a href="Distribution-Version.html#t:VersionRange" title="Distribution.Version">VersionRange</a> -&gt; <a href="Distribution-Version.html#t:VersionRange" title="Distribution.Version">VersionRange</a></li><li class="src short"><a href="#v:intersectVersionRanges">intersectVersionRanges</a> :: <a href="Distribution-Version.html#t:VersionRange" title="Distribution.Version">VersionRange</a> -&gt; <a href="Distribution-Version.html#t:VersionRange" title="Distribution.Version">VersionRange</a> -&gt; <a href="Distribution-Version.html#t:VersionRange" title="Distribution.Version">VersionRange</a></li><li class="src short"><a href="#v:differenceVersionRanges">differenceVersionRanges</a> :: <a href="Distribution-Version.html#t:VersionRange" title="Distribution.Version">VersionRange</a> -&gt; <a href="Distribution-Version.html#t:VersionRange" title="Distribution.Version">VersionRange</a> -&gt; <a href="Distribution-Version.html#t:VersionRange" title="Distribution.Version">VersionRange</a></li><li class="src short"><a href="#v:invertVersionRange">invertVersionRange</a> :: <a href="Distribution-Version.html#t:VersionRange" title="Distribution.Version">VersionRange</a> -&gt; <a href="Distribution-Version.html#t:VersionRange" title="Distribution.Version">VersionRange</a></li><li class="src short"><a href="#v:withinVersion">withinVersion</a> :: <a href="Distribution-Version.html#t:Version" title="Distribution.Version">Version</a> -&gt; <a href="Distribution-Version.html#t:VersionRange" title="Distribution.Version">VersionRange</a></li><li class="src short"><a href="#v:majorBoundVersion">majorBoundVersion</a> :: <a href="Distribution-Version.html#t:Version" title="Distribution.Version">Version</a> -&gt; <a href="Distribution-Version.html#t:VersionRange" title="Distribution.Version">VersionRange</a></li><li class="src short"><a href="#v:betweenVersionsInclusive">betweenVersionsInclusive</a> :: <a href="Distribution-Version.html#t:Version" title="Distribution.Version">Version</a> -&gt; <a href="Distribution-Version.html#t:Version" title="Distribution.Version">Version</a> -&gt; <a href="Distribution-Version.html#t:VersionRange" title="Distribution.Version">VersionRange</a></li><li class="src short"><a href="#v:withinRange">withinRange</a> :: <a href="Distribution-Version.html#t:Version" title="Distribution.Version">Version</a> -&gt; <a href="Distribution-Version.html#t:VersionRange" title="Distribution.Version">VersionRange</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:isAnyVersion">isAnyVersion</a> :: <a href="Distribution-Version.html#t:VersionRange" title="Distribution.Version">VersionRange</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:isNoVersion">isNoVersion</a> :: <a href="Distribution-Version.html#t:VersionRange" title="Distribution.Version">VersionRange</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:isSpecificVersion">isSpecificVersion</a> :: <a href="Distribution-Version.html#t:VersionRange" title="Distribution.Version">VersionRange</a> -&gt; <a href="Distribution-Compat-Prelude-Internal.html#t:Maybe" title="Distribution.Compat.Prelude.Internal">Maybe</a> <a href="Distribution-Version.html#t:Version" title="Distribution.Version">Version</a></li><li class="src short"><a href="#v:simplifyVersionRange">simplifyVersionRange</a> :: <a href="Distribution-Version.html#t:VersionRange" title="Distribution.Version">VersionRange</a> -&gt; <a href="Distribution-Version.html#t:VersionRange" title="Distribution.Version">VersionRange</a></li><li class="src short"><a href="#v:foldVersionRange">foldVersionRange</a> :: a -&gt; (<a href="Distribution-Version.html#t:Version" title="Distribution.Version">Version</a> -&gt; a) -&gt; (<a href="Distribution-Version.html#t:Version" title="Distribution.Version">Version</a> -&gt; a) -&gt; (<a href="Distribution-Version.html#t:Version" title="Distribution.Version">Version</a> -&gt; a) -&gt; (a -&gt; a -&gt; a) -&gt; (a -&gt; a -&gt; a) -&gt; <a href="Distribution-Version.html#t:VersionRange" title="Distribution.Version">VersionRange</a> -&gt; a</li><li class="src short"><a href="#v:foldVersionRange-39-">foldVersionRange'</a> :: a -&gt; (<a href="Distribution-Version.html#t:Version" title="Distribution.Version">Version</a> -&gt; a) -&gt; (<a href="Distribution-Version.html#t:Version" title="Distribution.Version">Version</a> -&gt; a) -&gt; (<a href="Distribution-Version.html#t:Version" title="Distribution.Version">Version</a> -&gt; a) -&gt; (<a href="Distribution-Version.html#t:Version" title="Distribution.Version">Version</a> -&gt; a) -&gt; (<a href="Distribution-Version.html#t:Version" title="Distribution.Version">Version</a> -&gt; a) -&gt; (<a href="Distribution-Version.html#t:Version" title="Distribution.Version">Version</a> -&gt; <a href="Distribution-Version.html#t:Version" title="Distribution.Version">Version</a> -&gt; a) -&gt; (<a href="Distribution-Version.html#t:Version" title="Distribution.Version">Version</a> -&gt; <a href="Distribution-Version.html#t:Version" title="Distribution.Version">Version</a> -&gt; a) -&gt; (a -&gt; a -&gt; a) -&gt; (a -&gt; a -&gt; a) -&gt; (a -&gt; a) -&gt; <a href="Distribution-Version.html#t:VersionRange" title="Distribution.Version">VersionRange</a> -&gt; a</li><li class="src short"><a href="#v:normaliseVersionRange">normaliseVersionRange</a> :: <a href="Distribution-Version.html#t:VersionRange" title="Distribution.Version">VersionRange</a> -&gt; <a href="Distribution-Version.html#t:VersionRange" title="Distribution.Version">VersionRange</a></li><li class="src short"><a href="#v:stripParensVersionRange">stripParensVersionRange</a> :: <a href="Distribution-Version.html#t:VersionRange" title="Distribution.Version">VersionRange</a> -&gt; <a href="Distribution-Version.html#t:VersionRange" title="Distribution.Version">VersionRange</a></li><li class="src short"><a href="#v:hasUpperBound">hasUpperBound</a> :: <a href="Distribution-Version.html#t:VersionRange" title="Distribution.Version">VersionRange</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:hasLowerBound">hasLowerBound</a> :: <a href="Distribution-Version.html#t:VersionRange" title="Distribution.Version">VersionRange</a> -&gt; <a href="Distribution-Compat-Prelude-Internal.html#t:Bool" title="Distribution.Compat.Prelude.Internal">Bool</a></li><li class="src short"><span class="keyword">data</span> <a href="#t:VersionRangeF">VersionRangeF</a> a<ul class="subs"><li>= <a href="#v:AnyVersionF">AnyVersionF</a></li><li>| <a href="#v:ThisVersionF">ThisVersionF</a> <a href="Distribution-Version.html#t:Version" title="Distribution.Version">Version</a></li><li>| <a href="#v:LaterVersionF">LaterVersionF</a> <a href="Distribution-Version.html#t:Version" title="Distribution.Version">Version</a></li><li>| <a href="#v:OrLaterVersionF">OrLaterVersionF</a> <a href="Distribution-Version.html#t:Version" title="Distribution.Version">Version</a></li><li>| <a href="#v:EarlierVersionF">EarlierVersionF</a> <a href="Distribution-Version.html#t:Version" title="Distribution.Version">Version</a></li><li>| <a href="#v:OrEarlierVersionF">OrEarlierVersionF</a> <a href="Distribution-Version.html#t:Version" title="Distribution.Version">Version</a></li><li>| <a href="#v:WildcardVersionF">WildcardVersionF</a> <a href="Distribution-Version.html#t:Version" title="Distribution.Version">Version</a></li><li>| <a href="#v:MajorBoundVersionF">MajorBoundVersionF</a> <a href="Distribution-Version.html#t:Version" title="Distribution.Version">Version</a></li><li>| <a href="#v:UnionVersionRangesF">UnionVersionRangesF</a> a a</li><li>| <a href="#v:IntersectVersionRangesF">IntersectVersionRangesF</a> a a</li><li>| <a href="#v:VersionRangeParensF">VersionRangeParensF</a> a</li></ul></li><li class="src short"><a href="#v:cataVersionRange">cataVersionRange</a> :: (<a href="Distribution-Version.html#t:VersionRangeF" title="Distribution.Version">VersionRangeF</a> a -&gt; a) -&gt; <a href="Distribution-Version.html#t:VersionRange" title="Distribution.Version">VersionRange</a> -&gt; a</li><li class="src short"><a href="#v:anaVersionRange">anaVersionRange</a> :: (a -&gt; <a href="Distribution-Version.html#t:VersionRangeF" title="Distribution.Version">VersionRangeF</a> a) -&gt; a -&gt; <a href="Distribution-Version.html#t:VersionRange" title="Distribution.Version">VersionRange</a></li><li class="src short"><a href="#v:hyloVersionRange">hyloVersionRange</a> :: (<a href="Distribution-Version.html#t:VersionRangeF" title="Distribution.Version">VersionRangeF</a> <a href="Distribution-Version.html#t:VersionRange" title="Distribution.Version">VersionRange</a> -&gt; <a href="Distribution-Version.html#t:VersionRange" title="Distribution.Version">VersionRange</a>) -&gt; (<a href="Distribution-Version.html#t:VersionRange" title="Distribution.Version">VersionRange</a> -&gt; <a href="Distribution-Version.html#t:VersionRangeF" title="Distribution.Version">VersionRangeF</a> <a href="Distribution-Version.html#t:VersionRange" title="Distribution.Version">VersionRange</a>) -&gt; <a href="Distribution-Version.html#t:VersionRange" title="Distribution.Version">VersionRange</a> -&gt; <a href="Distribution-Version.html#t:VersionRange" title="Distribution.Version">VersionRange</a></li><li class="src short"><a href="#v:projectVersionRange">projectVersionRange</a> :: <a href="Distribution-Version.html#t:VersionRange" title="Distribution.Version">VersionRange</a> -&gt; <a href="Distribution-Version.html#t:VersionRangeF" title="Distribution.Version">VersionRangeF</a> <a href="Distribution-Version.html#t:VersionRange" title="Distribution.Version">VersionRange</a></li><li class="src short"><a href="#v:embedVersionRange">embedVersionRange</a> :: <a href="Distribution-Version.html#t:VersionRangeF" title="Distribution.Version">VersionRangeF</a> <a href="Distribution-Version.html#t:VersionRange" title="Distribution.Version">VersionRange</a> -&gt; <a href="Distribution-Version.html#t:VersionRange" title="Distribution.Version">VersionRange</a></li><li class="src short"><a href="#v:wildcardUpperBound">wildcardUpperBound</a> :: <a href="Distribution-Version.html#t:Version" title="Distribution.Version">Version</a> -&gt; <a href="Distribution-Version.html#t:Version" title="Distribution.Version">Version</a></li><li class="src short"><a href="#v:majorUpperBound">majorUpperBound</a> :: <a href="Distribution-Version.html#t:Version" title="Distribution.Version">Version</a> -&gt; <a href="Distribution-Version.html#t:Version" title="Distribution.Version">Version</a></li><li class="src short"><a href="#v:removeUpperBound">removeUpperBound</a> :: <a href="Distribution-Version.html#t:VersionRange" title="Distribution.Version">VersionRange</a> -&gt; <a href="Distribution-Version.html#t:VersionRange" title="Distribution.Version">VersionRange</a></li><li class="src short"><a href="#v:removeLowerBound">removeLowerBound</a> :: <a href="Distribution-Version.html#t:VersionRange" title="Distribution.Version">VersionRange</a> -&gt; <a href="Distribution-Version.html#t:VersionRange" title="Distribution.Version">VersionRange</a></li><li class="src short"><a href="#v:asVersionIntervals">asVersionIntervals</a> :: <a href="Distribution-Version.html#t:VersionRange" title="Distribution.Version">VersionRange</a> -&gt; [<a href="Distribution-Version.html#t:VersionInterval" title="Distribution.Version">VersionInterval</a>]</li><li class="src short"><span class="keyword">type</span> <a href="#t:VersionInterval">VersionInterval</a> = (<a href="Distribution-Version.html#t:LowerBound" title="Distribution.Version">LowerBound</a>, <a href="Distribution-Version.html#t:UpperBound" title="Distribution.Version">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-Version.html#t:Version" title="Distribution.Version">Version</a> !<a href="Distribution-Version.html#t:Bound" title="Distribution.Version">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-Version.html#t:Version" title="Distribution.Version">Version</a> !<a href="Distribution-Version.html#t:Bound" title="Distribution.Version">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><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-Version.html#t:VersionRange" title="Distribution.Version">VersionRange</a> -&gt; <a href="Distribution-Version.html#t:VersionIntervals" title="Distribution.Version">VersionIntervals</a></li><li class="src short"><a href="#v:fromVersionIntervals">fromVersionIntervals</a> :: <a href="Distribution-Version.html#t:VersionIntervals" title="Distribution.Version">VersionIntervals</a> -&gt; <a href="Distribution-Version.html#t:VersionRange" title="Distribution.Version">VersionRange</a></li><li class="src short"><a href="#v:withinIntervals">withinIntervals</a> :: <a href="Distribution-Version.html#t:Version" title="Distribution.Version">Version</a> -&gt; <a href="Distribution-Version.html#t:VersionIntervals" title="Distribution.Version">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-Version.html#t:VersionIntervals" title="Distribution.Version">VersionIntervals</a> -&gt; [<a href="Distribution-Version.html#t:VersionInterval" title="Distribution.Version">VersionInterval</a>]</li><li class="src short"><a href="#v:mkVersionIntervals">mkVersionIntervals</a> :: [<a href="Distribution-Version.html#t:VersionInterval" title="Distribution.Version">VersionInterval</a>] -&gt; <a href="Distribution-Version.html#t:VersionIntervals" title="Distribution.Version">VersionIntervals</a></li><li class="src short"><a href="#v:unionVersionIntervals">unionVersionIntervals</a> :: <a href="Distribution-Version.html#t:VersionIntervals" title="Distribution.Version">VersionIntervals</a> -&gt; <a href="Distribution-Version.html#t:VersionIntervals" title="Distribution.Version">VersionIntervals</a> -&gt; <a href="Distribution-Version.html#t:VersionIntervals" title="Distribution.Version">VersionIntervals</a></li><li class="src short"><a href="#v:intersectVersionIntervals">intersectVersionIntervals</a> :: <a href="Distribution-Version.html#t:VersionIntervals" title="Distribution.Version">VersionIntervals</a> -&gt; <a href="Distribution-Version.html#t:VersionIntervals" title="Distribution.Version">VersionIntervals</a> -&gt; <a href="Distribution-Version.html#t:VersionIntervals" title="Distribution.Version">VersionIntervals</a></li><li class="src short"><a href="#v:invertVersionIntervals">invertVersionIntervals</a> :: <a href="Distribution-Version.html#t:VersionIntervals" title="Distribution.Version">VersionIntervals</a> -&gt; <a href="Distribution-Version.html#t:VersionIntervals" title="Distribution.Version">VersionIntervals</a></li></ul></details></div><div id="interface"><a href="#g:1" id="g:1"><h1>Package versions</h1></a><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:Version" class="def">Version</a> <a href="#t:Version" class="selflink">#</a></p><div class="doc"><p>A <code><a href="Distribution-Version.html#t:Version" title="Distribution.Version">Version</a></code> represents the version of a software entity.</p><p>Instances of <code><a href="Distribution-Compat-Prelude-Internal.html#t:Eq" title="Distribution.Compat.Prelude.Internal">Eq</a></code> and <code><a href="Distribution-Compat-Prelude-Internal.html#t:Ord" title="Distribution.Compat.Prelude.Internal">Ord</a></code> are provided, which gives exact
 equality and lexicographic ordering of the version number
 components (i.e. 2.1 &gt; 2.0, 1.2.3 &gt; 1.2.2, etc.).</p><p>This type is opaque and distinct from the <code><a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/Data-Version.html#t:Version" title="Data.Version">Version</a></code> type in
 <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/Data-Version.html">Data.Version</a> since <code>Cabal-2.0</code>. The difference extends to the
 <code><a href="Distribution-Compat-Prelude-Internal.html#t:Binary" title="Distribution.Compat.Prelude.Internal">Binary</a></code> instance using a different (and more compact) encoding.</p><p><em>Since: 2.0.0.2</em></p></div><div class="subs instances"><details id="i:Version" 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:Version:Eq:1"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Eq" title="Distribution.Compat.Prelude.Internal">Eq</a> <a href="Distribution-Version.html#t:Version" title="Distribution.Version">Version</a></span> <a href="#t:Version" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><details id="i:id:Version:Eq:1"><summary class="hide-when-js-enabled">Instance details</summary><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-61--61-">(==)</a> :: <a href="Distribution-Version.html#t:Version" title="Distribution.Version">Version</a> -&gt; <a href="Distribution-Version.html#t:Version" title="Distribution.Version">Version</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-Version.html#t:Version" title="Distribution.Version">Version</a> -&gt; <a href="Distribution-Version.html#t:Version" title="Distribution.Version">Version</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:Version:Data:2"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Data" title="Distribution.Compat.Prelude.Internal">Data</a> <a href="Distribution-Version.html#t:Version" title="Distribution.Version">Version</a></span> <a href="#t:Version" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><details id="i:id:Version:Data:2"><summary class="hide-when-js-enabled">Instance details</summary><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:gfoldl">gfoldl</a> :: (<span class="keyword">forall</span> d b. <a href="Distribution-Compat-Prelude-Internal.html#t:Data" title="Distribution.Compat.Prelude.Internal">Data</a> d =&gt; c (d -&gt; b) -&gt; d -&gt; c b) -&gt; (<span class="keyword">forall</span> g. g -&gt; c g) -&gt; <a href="Distribution-Version.html#t:Version" title="Distribution.Version">Version</a> -&gt; c <a href="Distribution-Version.html#t:Version" title="Distribution.Version">Version</a> <a href="#v:gfoldl" class="selflink">#</a></p><p class="src"><a href="#v:gunfold">gunfold</a> :: (<span class="keyword">forall</span> b r. <a href="Distribution-Compat-Prelude-Internal.html#t:Data" title="Distribution.Compat.Prelude.Internal">Data</a> b =&gt; c (b -&gt; r) -&gt; c r) -&gt; (<span class="keyword">forall</span> r. r -&gt; c r) -&gt; <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/Data-Data.html#t:Constr" title="Data.Data">Constr</a> -&gt; c <a href="Distribution-Version.html#t:Version" title="Distribution.Version">Version</a> <a href="#v:gunfold" class="selflink">#</a></p><p class="src"><a href="#v:toConstr">toConstr</a> :: <a href="Distribution-Version.html#t:Version" title="Distribution.Version">Version</a> -&gt; <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/Data-Data.html#t:Constr" title="Data.Data">Constr</a> <a href="#v:toConstr" class="selflink">#</a></p><p class="src"><a href="#v:dataTypeOf">dataTypeOf</a> :: <a href="Distribution-Version.html#t:Version" title="Distribution.Version">Version</a> -&gt; <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/Data-Data.html#t:DataType" title="Data.Data">DataType</a> <a href="#v:dataTypeOf" class="selflink">#</a></p><p class="src"><a href="#v:dataCast1">dataCast1</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Typeable" title="Distribution.Compat.Prelude.Internal">Typeable</a> t =&gt; (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data" title="Distribution.Compat.Prelude.Internal">Data</a> d =&gt; c (t d)) -&gt; <a href="Distribution-Compat-Prelude-Internal.html#t:Maybe" title="Distribution.Compat.Prelude.Internal">Maybe</a> (c <a href="Distribution-Version.html#t:Version" title="Distribution.Version">Version</a>) <a href="#v:dataCast1" class="selflink">#</a></p><p class="src"><a href="#v:dataCast2">dataCast2</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Typeable" title="Distribution.Compat.Prelude.Internal">Typeable</a> t =&gt; (<span class="keyword">forall</span> d e. (<a href="Distribution-Compat-Prelude-Internal.html#t:Data" title="Distribution.Compat.Prelude.Internal">Data</a> d, <a href="Distribution-Compat-Prelude-Internal.html#t:Data" title="Distribution.Compat.Prelude.Internal">Data</a> e) =&gt; c (t d e)) -&gt; <a href="Distribution-Compat-Prelude-Internal.html#t:Maybe" title="Distribution.Compat.Prelude.Internal">Maybe</a> (c <a href="Distribution-Version.html#t:Version" title="Distribution.Version">Version</a>) <a href="#v:dataCast2" class="selflink">#</a></p><p class="src"><a href="#v:gmapT">gmapT</a> :: (<span class="keyword">forall</span> b. <a href="Distribution-Compat-Prelude-Internal.html#t:Data" title="Distribution.Compat.Prelude.Internal">Data</a> b =&gt; b -&gt; b) -&gt; <a href="Distribution-Version.html#t:Version" title="Distribution.Version">Version</a> -&gt; <a href="Distribution-Version.html#t:Version" title="Distribution.Version">Version</a> <a href="#v:gmapT" class="selflink">#</a></p><p class="src"><a href="#v:gmapQl">gmapQl</a> :: (r -&gt; r' -&gt; r) -&gt; r -&gt; (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data" title="Distribution.Compat.Prelude.Internal">Data</a> d =&gt; d -&gt; r') -&gt; <a href="Distribution-Version.html#t:Version" title="Distribution.Version">Version</a> -&gt; r <a href="#v:gmapQl" class="selflink">#</a></p><p class="src"><a href="#v:gmapQr">gmapQr</a> :: (r' -&gt; r -&gt; r) -&gt; r -&gt; (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data" title="Distribution.Compat.Prelude.Internal">Data</a> d =&gt; d -&gt; r') -&gt; <a href="Distribution-Version.html#t:Version" title="Distribution.Version">Version</a> -&gt; r <a href="#v:gmapQr" class="selflink">#</a></p><p class="src"><a href="#v:gmapQ">gmapQ</a> :: (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data" title="Distribution.Compat.Prelude.Internal">Data</a> d =&gt; d -&gt; u) -&gt; <a href="Distribution-Version.html#t:Version" title="Distribution.Version">Version</a> -&gt; [u] <a href="#v:gmapQ" class="selflink">#</a></p><p class="src"><a href="#v:gmapQi">gmapQi</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Int" title="Distribution.Compat.Prelude.Internal">Int</a> -&gt; (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data" title="Distribution.Compat.Prelude.Internal">Data</a> d =&gt; d -&gt; u) -&gt; <a href="Distribution-Version.html#t:Version" title="Distribution.Version">Version</a> -&gt; u <a href="#v:gmapQi" class="selflink">#</a></p><p class="src"><a href="#v:gmapM">gmapM</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Monad" title="Distribution.Compat.Prelude.Internal">Monad</a> m =&gt; (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data" title="Distribution.Compat.Prelude.Internal">Data</a> d =&gt; d -&gt; m d) -&gt; <a href="Distribution-Version.html#t:Version" title="Distribution.Version">Version</a> -&gt; m <a href="Distribution-Version.html#t:Version" title="Distribution.Version">Version</a> <a href="#v:gmapM" class="selflink">#</a></p><p class="src"><a href="#v:gmapMp">gmapMp</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:MonadPlus" title="Distribution.Compat.Prelude.Internal">MonadPlus</a> m =&gt; (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data" title="Distribution.Compat.Prelude.Internal">Data</a> d =&gt; d -&gt; m d) -&gt; <a href="Distribution-Version.html#t:Version" title="Distribution.Version">Version</a> -&gt; m <a href="Distribution-Version.html#t:Version" title="Distribution.Version">Version</a> <a href="#v:gmapMp" class="selflink">#</a></p><p class="src"><a href="#v:gmapMo">gmapMo</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:MonadPlus" title="Distribution.Compat.Prelude.Internal">MonadPlus</a> m =&gt; (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data" title="Distribution.Compat.Prelude.Internal">Data</a> d =&gt; d -&gt; m d) -&gt; <a href="Distribution-Version.html#t:Version" title="Distribution.Version">Version</a> -&gt; m <a href="Distribution-Version.html#t:Version" title="Distribution.Version">Version</a> <a href="#v:gmapMo" 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:Version:Ord:3"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Ord" title="Distribution.Compat.Prelude.Internal">Ord</a> <a href="Distribution-Version.html#t:Version" title="Distribution.Version">Version</a></span> <a href="#t:Version" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><details id="i:id:Version:Ord:3"><summary class="hide-when-js-enabled">Instance details</summary><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:compare">compare</a> :: <a href="Distribution-Version.html#t:Version" title="Distribution.Version">Version</a> -&gt; <a href="Distribution-Version.html#t:Version" title="Distribution.Version">Version</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-Version.html#t:Version" title="Distribution.Version">Version</a> -&gt; <a href="Distribution-Version.html#t:Version" title="Distribution.Version">Version</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-Version.html#t:Version" title="Distribution.Version">Version</a> -&gt; <a href="Distribution-Version.html#t:Version" title="Distribution.Version">Version</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-Version.html#t:Version" title="Distribution.Version">Version</a> -&gt; <a href="Distribution-Version.html#t:Version" title="Distribution.Version">Version</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-Version.html#t:Version" title="Distribution.Version">Version</a> -&gt; <a href="Distribution-Version.html#t:Version" title="Distribution.Version">Version</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-Version.html#t:Version" title="Distribution.Version">Version</a> -&gt; <a href="Distribution-Version.html#t:Version" title="Distribution.Version">Version</a> -&gt; <a href="Distribution-Version.html#t:Version" title="Distribution.Version">Version</a> <a href="#v:max" class="selflink">#</a></p><p class="src"><a href="#v:min">min</a> :: <a href="Distribution-Version.html#t:Version" title="Distribution.Version">Version</a> -&gt; <a href="Distribution-Version.html#t:Version" title="Distribution.Version">Version</a> -&gt; <a href="Distribution-Version.html#t:Version" title="Distribution.Version">Version</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:Version:Read:4"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Read" title="Distribution.Compat.Prelude.Internal">Read</a> <a href="Distribution-Version.html#t:Version" title="Distribution.Version">Version</a></span> <a href="#t:Version" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><details id="i:id:Version:Read:4"><summary class="hide-when-js-enabled">Instance details</summary><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:readsPrec">readsPrec</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Int" title="Distribution.Compat.Prelude.Internal">Int</a> -&gt; <a href="Distribution-Compat-ReadP.html#t:ReadS" title="Distribution.Compat.ReadP">ReadS</a> <a href="Distribution-Version.html#t:Version" title="Distribution.Version">Version</a> <a href="#v:readsPrec" class="selflink">#</a></p><p class="src"><a href="#v:readList">readList</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadS" title="Distribution.Compat.ReadP">ReadS</a> [<a href="Distribution-Version.html#t:Version" title="Distribution.Version">Version</a>] <a href="#v:readList" class="selflink">#</a></p><p class="src"><a href="#v:readPrec">readPrec</a> :: <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec" title="Text.ParserCombinators.ReadPrec">ReadPrec</a> <a href="Distribution-Version.html#t:Version" title="Distribution.Version">Version</a> <a href="#v:readPrec" class="selflink">#</a></p><p class="src"><a href="#v:readListPrec">readListPrec</a> :: <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec" title="Text.ParserCombinators.ReadPrec">ReadPrec</a> [<a href="Distribution-Version.html#t:Version" title="Distribution.Version">Version</a>] <a href="#v:readListPrec" 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:Version:Show:5"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Show" title="Distribution.Compat.Prelude.Internal">Show</a> <a href="Distribution-Version.html#t:Version" title="Distribution.Version">Version</a></span> <a href="#t:Version" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><details id="i:id:Version:Show:5"><summary class="hide-when-js-enabled">Instance details</summary><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-Version.html#t:Version" title="Distribution.Version">Version</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-Version.html#t:Version" title="Distribution.Version">Version</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-Version.html#t:Version" title="Distribution.Version">Version</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><tr><td class="src clearfix"><span class="inst-left"><span class="instance details-toggle-control details-toggle" data-details-id="i:id:Version:Generic:6"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Generic" title="Distribution.Compat.Prelude.Internal">Generic</a> <a href="Distribution-Version.html#t:Version" title="Distribution.Version">Version</a></span> <a href="#t:Version" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><details id="i:id:Version:Generic:6"><summary class="hide-when-js-enabled">Instance details</summary><div class="subs associated-types"><p class="caption">Associated Types</p><p class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#t:Rep" title="GHC.Generics">Rep</a> <a href="Distribution-Version.html#t:Version" title="Distribution.Version">Version</a> :: <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/Data-Kind.html#t:-42-" title="Data.Kind">*</a> -&gt; <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/Data-Kind.html#t:-42-" title="Data.Kind">*</a> <a href="#t:Rep" class="selflink">#</a></p></div> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:from">from</a> :: <a href="Distribution-Version.html#t:Version" title="Distribution.Version">Version</a> -&gt; <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#t:Rep" title="GHC.Generics">Rep</a> <a href="Distribution-Version.html#t:Version" title="Distribution.Version">Version</a> x <a href="#v:from" class="selflink">#</a></p><p class="src"><a href="#v:to">to</a> :: <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#t:Rep" title="GHC.Generics">Rep</a> <a href="Distribution-Version.html#t:Version" title="Distribution.Version">Version</a> x -&gt; <a href="Distribution-Version.html#t:Version" title="Distribution.Version">Version</a> <a href="#v:to" 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:Version:Binary:7"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Binary" title="Distribution.Compat.Prelude.Internal">Binary</a> <a href="Distribution-Version.html#t:Version" title="Distribution.Version">Version</a></span> <a href="#t:Version" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><details id="i:id:Version:Binary:7"><summary class="hide-when-js-enabled">Instance details</summary><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:put">put</a> :: <a href="Distribution-Version.html#t:Version" title="Distribution.Version">Version</a> -&gt; <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put" title="Data.Binary.Put">Put</a> <a href="#v:put" class="selflink">#</a></p><p class="src"><a href="#v:get">get</a> :: <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/binary-0.8.5.1/Data-Binary-Get-Internal.html#t:Get" title="Data.Binary.Get.Internal">Get</a> <a href="Distribution-Version.html#t:Version" title="Distribution.Version">Version</a> <a href="#v:get" class="selflink">#</a></p><p class="src"><a href="#v:putList">putList</a> :: [<a href="Distribution-Version.html#t:Version" title="Distribution.Version">Version</a>] -&gt; <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put" title="Data.Binary.Put">Put</a> <a href="#v:putList" 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:Version:NFData:8"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:NFData" title="Distribution.Compat.Prelude.Internal">NFData</a> <a href="Distribution-Version.html#t:Version" title="Distribution.Version">Version</a></span> <a href="#t:Version" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><details id="i:id:Version:NFData:8"><summary class="hide-when-js-enabled">Instance details</summary><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:rnf">rnf</a> :: <a href="Distribution-Version.html#t:Version" title="Distribution.Version">Version</a> -&gt; () <a href="#v:rnf" 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:Version:Pretty:9"></span> <a href="Distribution-Pretty.html#t:Pretty" title="Distribution.Pretty">Pretty</a> <a href="Distribution-Version.html#t:Version" title="Distribution.Version">Version</a></span> <a href="#t:Version" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><details id="i:id:Version:Pretty:9"><summary class="hide-when-js-enabled">Instance details</summary><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:pretty">pretty</a> :: <a href="Distribution-Version.html#t:Version" title="Distribution.Version">Version</a> -&gt; <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/pretty-1.1.3.6/Text-PrettyPrint.html#t:Doc" title="Text.PrettyPrint">Doc</a> <a href="#v:pretty" 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:Version:Parsec:10"></span> <a href="Distribution-Parsec-Class.html#t:Parsec" title="Distribution.Parsec.Class">Parsec</a> <a href="Distribution-Version.html#t:Version" title="Distribution.Version">Version</a></span> <a href="#t:Version" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><details id="i:id:Version:Parsec:10"><summary class="hide-when-js-enabled">Instance details</summary><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:parsec">parsec</a> :: <a href="Distribution-Parsec-Class.html#t:CabalParsing" title="Distribution.Parsec.Class">CabalParsing</a> m =&gt; m <a href="Distribution-Version.html#t:Version" title="Distribution.Version">Version</a> <a href="#v:parsec" 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:Version:Text:11"></span> <a href="Distribution-Text.html#t:Text" title="Distribution.Text">Text</a> <a href="Distribution-Version.html#t:Version" title="Distribution.Version">Version</a></span> <a href="#t:Version" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><details id="i:id:Version:Text:11"><summary class="hide-when-js-enabled">Instance details</summary><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:disp">disp</a> :: <a href="Distribution-Version.html#t:Version" title="Distribution.Version">Version</a> -&gt; <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/pretty-1.1.3.6/Text-PrettyPrint.html#t:Doc" title="Text.PrettyPrint">Doc</a> <a href="#v:disp" class="selflink">#</a></p><p class="src"><a href="#v:parse">parse</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadP" title="Distribution.Compat.ReadP">ReadP</a> r <a href="Distribution-Version.html#t:Version" title="Distribution.Version">Version</a> <a href="#v:parse" 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:Version:Newtype:12"></span> <a href="Distribution-Compat-Newtype.html#t:Newtype" title="Distribution.Compat.Newtype">Newtype</a> <a href="Distribution-Parsec-Newtypes.html#t:SpecVersion" title="Distribution.Parsec.Newtypes">SpecVersion</a> (<a href="Distribution-Compat-Prelude-Internal.html#t:Either" title="Distribution.Compat.Prelude.Internal">Either</a> <a href="Distribution-Version.html#t:Version" title="Distribution.Version">Version</a> <a href="Distribution-Version.html#t:VersionRange" title="Distribution.Version">VersionRange</a>)</span> <a href="#t:Newtype" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><details id="i:id:Version:Newtype:12"><summary class="hide-when-js-enabled">Instance details</summary><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:pack">pack</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Either" title="Distribution.Compat.Prelude.Internal">Either</a> <a href="Distribution-Version.html#t:Version" title="Distribution.Version">Version</a> <a href="Distribution-Version.html#t:VersionRange" title="Distribution.Version">VersionRange</a> -&gt; <a href="Distribution-Parsec-Newtypes.html#t:SpecVersion" title="Distribution.Parsec.Newtypes">SpecVersion</a> <a href="#v:pack" class="selflink">#</a></p><p class="src"><a href="#v:unpack">unpack</a> :: <a href="Distribution-Parsec-Newtypes.html#t:SpecVersion" title="Distribution.Parsec.Newtypes">SpecVersion</a> -&gt; <a href="Distribution-Compat-Prelude-Internal.html#t:Either" title="Distribution.Compat.Prelude.Internal">Either</a> <a href="Distribution-Version.html#t:Version" title="Distribution.Version">Version</a> <a href="Distribution-Version.html#t:VersionRange" title="Distribution.Version">VersionRange</a> <a href="#v:unpack" 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:Version:Rep:13"></span> <span class="keyword">type</span> <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#t:Rep" title="GHC.Generics">Rep</a> <a href="Distribution-Version.html#t:Version" title="Distribution.Version">Version</a></span> <a href="#t:Version" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><details id="i:id:Version:Rep:13"><summary class="hide-when-js-enabled">Instance details</summary><div class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#t:Rep" title="GHC.Generics">Rep</a> <a href="Distribution-Version.html#t:Version" title="Distribution.Version">Version</a> = <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#t:D1" title="GHC.Generics">D1</a> (<a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#v:MetaData" title="GHC.Generics">MetaData</a> &quot;Version&quot; &quot;Distribution.Types.Version&quot; &quot;Cabal-2.2.0.1-JS0vobxWxH7sbYKd0omMO&quot; <a href="Distribution-Compat-Prelude-Internal.html#v:False" title="Distribution.Compat.Prelude.Internal">False</a>) (<a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#t:C1" title="GHC.Generics">C1</a> (<a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#v:MetaCons" title="GHC.Generics">MetaCons</a> &quot;PV0&quot; <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#v:PrefixI" title="GHC.Generics">PrefixI</a> <a href="Distribution-Compat-Prelude-Internal.html#v:False" title="Distribution.Compat.Prelude.Internal">False</a>) (<a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#t:S1" title="GHC.Generics">S1</a> (<a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#v:MetaSel" title="GHC.Generics">MetaSel</a> (<a href="Distribution-Compat-Prelude-Internal.html#v:Nothing" title="Distribution.Compat.Prelude.Internal">Nothing</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Maybe" title="Distribution.Compat.Prelude.Internal">Maybe</a> <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-TypeLits.html#t:Symbol" title="GHC.TypeLits">Symbol</a>) <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#v:SourceUnpack" title="GHC.Generics">SourceUnpack</a> <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#v:SourceStrict" title="GHC.Generics">SourceStrict</a> <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#v:DecidedStrict" title="GHC.Generics">DecidedStrict</a>) (<a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#t:Rec0" title="GHC.Generics">Rec0</a> <a href="Distribution-Compat-Prelude-Internal.html#t:Word64" title="Distribution.Compat.Prelude.Internal">Word64</a>)) <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#t::-43-:" title="GHC.Generics">:+:</a> <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#t:C1" title="GHC.Generics">C1</a> (<a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#v:MetaCons" title="GHC.Generics">MetaCons</a> &quot;PV1&quot; <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#v:PrefixI" title="GHC.Generics">PrefixI</a> <a href="Distribution-Compat-Prelude-Internal.html#v:False" title="Distribution.Compat.Prelude.Internal">False</a>) (<a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#t:S1" title="GHC.Generics">S1</a> (<a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#v:MetaSel" title="GHC.Generics">MetaSel</a> (<a href="Distribution-Compat-Prelude-Internal.html#v:Nothing" title="Distribution.Compat.Prelude.Internal">Nothing</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Maybe" title="Distribution.Compat.Prelude.Internal">Maybe</a> <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-TypeLits.html#t:Symbol" title="GHC.TypeLits">Symbol</a>) <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#v:NoSourceUnpackedness" title="GHC.Generics">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#v:SourceStrict" title="GHC.Generics">SourceStrict</a> <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#v:DecidedStrict" title="GHC.Generics">DecidedStrict</a>) (<a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#t:Rec0" title="GHC.Generics">Rec0</a> <a href="Distribution-Compat-Prelude-Internal.html#t:Int" title="Distribution.Compat.Prelude.Internal">Int</a>) <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#t::-42-:" title="GHC.Generics">:*:</a> <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#t:S1" title="GHC.Generics">S1</a> (<a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#v:MetaSel" title="GHC.Generics">MetaSel</a> (<a href="Distribution-Compat-Prelude-Internal.html#v:Nothing" title="Distribution.Compat.Prelude.Internal">Nothing</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Maybe" title="Distribution.Compat.Prelude.Internal">Maybe</a> <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-TypeLits.html#t:Symbol" title="GHC.TypeLits">Symbol</a>) <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#v:NoSourceUnpackedness" title="GHC.Generics">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#v:NoSourceStrictness" title="GHC.Generics">NoSourceStrictness</a> <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#v:DecidedLazy" title="GHC.Generics">DecidedLazy</a>) (<a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#t:Rec0" title="GHC.Generics">Rec0</a> [<a href="Distribution-Compat-Prelude-Internal.html#t:Int" title="Distribution.Compat.Prelude.Internal">Int</a>])))</div></details></td></tr></table></details></div></div><div class="top"><p class="src"><a id="v:version0" class="def">version0</a> :: <a href="Distribution-Version.html#t:Version" title="Distribution.Version">Version</a> <a href="#v:version0" class="selflink">#</a></p><div class="doc"><p>Version 0. A lower bound of <code><a href="Distribution-Version.html#t:Version" title="Distribution.Version">Version</a></code>.</p><p><em>Since: 2.2</em></p></div></div><div class="top"><p class="src"><a id="v:mkVersion" class="def">mkVersion</a> :: [<a href="Distribution-Compat-Prelude-Internal.html#t:Int" title="Distribution.Compat.Prelude.Internal">Int</a>] -&gt; <a href="Distribution-Version.html#t:Version" title="Distribution.Version">Version</a> <a href="#v:mkVersion" class="selflink">#</a></p><div class="doc"><p>Construct <code><a href="Distribution-Version.html#t:Version" title="Distribution.Version">Version</a></code> from list of version number components.</p><p>For instance, <code>mkVersion [3,2,1]</code> constructs a <code><a href="Distribution-Version.html#t:Version" title="Distribution.Version">Version</a></code>
 representing the version <code>3.2.1</code>.</p><p>All version components must be non-negative. <code>mkVersion []</code>
 currently represents the special <em>null</em> version; see also <code><a href="Distribution-Version.html#v:nullVersion" title="Distribution.Version">nullVersion</a></code>.</p><p><em>Since: 2.0.0.2</em></p></div></div><div class="top"><p class="src"><a id="v:mkVersion-39-" class="def">mkVersion'</a> :: <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/Data-Version.html#t:Version" title="Data.Version">Version</a> -&gt; <a href="Distribution-Version.html#t:Version" title="Distribution.Version">Version</a> <a href="#v:mkVersion-39-" class="selflink">#</a></p><div class="doc"><p>Variant of <code><a href="Distribution-Version.html#t:Version" title="Distribution.Version">Version</a></code> which converts a <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/Data-Version.html">Data.Version</a> <code><a href="Distribution-Version.html#t:Version" title="Distribution.Version">Version</a></code>
 into Cabal's <code><a href="Distribution-Version.html#t:Version" title="Distribution.Version">Version</a></code> type.</p><p><em>Since: 2.0.0.2</em></p></div></div><div class="top"><p class="src"><a id="v:versionNumbers" class="def">versionNumbers</a> :: <a href="Distribution-Version.html#t:Version" title="Distribution.Version">Version</a> -&gt; [<a href="Distribution-Compat-Prelude-Internal.html#t:Int" title="Distribution.Compat.Prelude.Internal">Int</a>] <a href="#v:versionNumbers" class="selflink">#</a></p><div class="doc"><p>Unpack <code><a href="Distribution-Version.html#t:Version" title="Distribution.Version">Version</a></code> into list of version number components.</p><p>This is the inverse to <code><a href="Distribution-Version.html#v:mkVersion" title="Distribution.Version">mkVersion</a></code>, so the following holds:</p><pre>(versionNumbers . mkVersion) vs == vs</pre><p><em>Since: 2.0.0.2</em></p></div></div><div class="top"><p class="src"><a id="v:nullVersion" class="def">nullVersion</a> :: <a href="Distribution-Version.html#t:Version" title="Distribution.Version">Version</a> <a href="#v:nullVersion" class="selflink">#</a></p><div class="doc"><p>Constant representing the special <em>null</em> <code><a href="Distribution-Version.html#t:Version" title="Distribution.Version">Version</a></code></p><p>The <code><a href="Distribution-Version.html#v:nullVersion" title="Distribution.Version">nullVersion</a></code> compares (via <code><a href="Distribution-Compat-Prelude-Internal.html#t:Ord" title="Distribution.Compat.Prelude.Internal">Ord</a></code>) as less than every proper
 <code><a href="Distribution-Version.html#t:Version" title="Distribution.Version">Version</a></code> value.</p><p><em>Since: 2.0.0.2</em></p></div></div><div class="top"><p class="src"><a id="v:alterVersion" class="def">alterVersion</a> :: ([<a href="Distribution-Compat-Prelude-Internal.html#t:Int" title="Distribution.Compat.Prelude.Internal">Int</a>] -&gt; [<a href="Distribution-Compat-Prelude-Internal.html#t:Int" title="Distribution.Compat.Prelude.Internal">Int</a>]) -&gt; <a href="Distribution-Version.html#t:Version" title="Distribution.Version">Version</a> -&gt; <a href="Distribution-Version.html#t:Version" title="Distribution.Version">Version</a> <a href="#v:alterVersion" class="selflink">#</a></p><div class="doc"><p>Apply function to list of version number components</p><pre>alterVersion f == mkVersion . f . versionNumbers</pre><p><em>Since: 2.0.0.2</em></p></div></div><a href="#g:2" id="g:2"><h2>Backwards compatibility</h2></a><div class="top"><p class="src"><a id="v:showVersion" class="def">showVersion</a> :: <a href="Distribution-Version.html#t:Version" title="Distribution.Version">Version</a> -&gt; <a href="Distribution-Compat-Prelude-Internal.html#t:String" title="Distribution.Compat.Prelude.Internal">String</a> <a href="#v:showVersion" class="selflink">#</a></p><div class="doc"><div class="warning"><p>Deprecated: Use prettyShow. This function will be removed in Cabal-3.0 (estimated Oct 2018)</p></div></div></div><a href="#g:3" id="g:3"><h1>Version ranges</h1></a><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:VersionRange" class="def">VersionRange</a> <a href="#t:VersionRange" class="selflink">#</a></p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:AnyVersion" class="def">AnyVersion</a></td><td class="doc"><div class="warning"><p>Deprecated: Use <code><a href="Distribution-Version.html#v:anyVersion" title="Distribution.Version">anyVersion</a></code>, <code><a href="Distribution-Version.html#v:foldVersionRange" title="Distribution.Version">foldVersionRange</a></code> or <code>asVersionIntervals</code></p></div></td></tr><tr><td class="src"><a id="v:ThisVersion" class="def">ThisVersion</a> <a href="Distribution-Version.html#t:Version" title="Distribution.Version">Version</a></td><td class="doc"><div class="warning"><p>Deprecated: Use <code><a href="Distribution-Version.html#v:thisVersion" title="Distribution.Version">thisVersion</a></code>, <code><a href="Distribution-Version.html#v:foldVersionRange" title="Distribution.Version">foldVersionRange</a></code> or <code>asVersionIntervals</code></p></div></td></tr><tr><td class="src"><a id="v:LaterVersion" class="def">LaterVersion</a> <a href="Distribution-Version.html#t:Version" title="Distribution.Version">Version</a></td><td class="doc"><div class="warning"><p>Deprecated: Use <code><a href="Distribution-Version.html#v:laterVersion" title="Distribution.Version">laterVersion</a></code>, <code><a href="Distribution-Version.html#v:foldVersionRange" title="Distribution.Version">foldVersionRange</a></code> or <code>asVersionIntervals</code></p></div></td></tr><tr><td class="src"><a id="v:OrLaterVersion" class="def">OrLaterVersion</a> <a href="Distribution-Version.html#t:Version" title="Distribution.Version">Version</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a id="v:EarlierVersion" class="def">EarlierVersion</a> <a href="Distribution-Version.html#t:Version" title="Distribution.Version">Version</a></td><td class="doc"><div class="warning"><p>Deprecated: Use <code><a href="Distribution-Version.html#v:earlierVersion" title="Distribution.Version">earlierVersion</a></code>, <code><a href="Distribution-Version.html#v:foldVersionRange" title="Distribution.Version">foldVersionRange</a></code> or <code>asVersionIntervals</code></p></div></td></tr><tr><td class="src"><a id="v:OrEarlierVersion" class="def">OrEarlierVersion</a> <a href="Distribution-Version.html#t:Version" title="Distribution.Version">Version</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a id="v:WildcardVersion" class="def">WildcardVersion</a> <a href="Distribution-Version.html#t:Version" title="Distribution.Version">Version</a></td><td class="doc"><div class="warning"><p>Deprecated: Use <code><a href="Distribution-Version.html#v:anyVersion" title="Distribution.Version">anyVersion</a></code>, <code><a href="Distribution-Version.html#v:foldVersionRange" title="Distribution.Version">foldVersionRange</a></code> or <code>asVersionIntervals</code></p></div></td></tr><tr><td class="src"><a id="v:MajorBoundVersion" class="def">MajorBoundVersion</a> <a href="Distribution-Version.html#t:Version" title="Distribution.Version">Version</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a id="v:UnionVersionRanges" class="def">UnionVersionRanges</a> <a href="Distribution-Version.html#t:VersionRange" title="Distribution.Version">VersionRange</a> <a href="Distribution-Version.html#t:VersionRange" title="Distribution.Version">VersionRange</a></td><td class="doc"><div class="warning"><p>Deprecated: Use <code><a href="Distribution-Version.html#v:unionVersionRanges" title="Distribution.Version">unionVersionRanges</a></code>, <code><a href="Distribution-Version.html#v:foldVersionRange" title="Distribution.Version">foldVersionRange</a></code> or <code>asVersionIntervals</code></p></div></td></tr><tr><td class="src"><a id="v:IntersectVersionRanges" class="def">IntersectVersionRanges</a> <a href="Distribution-Version.html#t:VersionRange" title="Distribution.Version">VersionRange</a> <a href="Distribution-Version.html#t:VersionRange" title="Distribution.Version">VersionRange</a></td><td class="doc"><div class="warning"><p>Deprecated: Use <code><a href="Distribution-Version.html#v:intersectVersionRanges" title="Distribution.Version">intersectVersionRanges</a></code>, <code><a href="Distribution-Version.html#v:foldVersionRange" title="Distribution.Version">foldVersionRange</a></code> or <code>asVersionIntervals</code></p></div></td></tr><tr><td class="src"><a id="v:VersionRangeParens" class="def">VersionRangeParens</a> <a href="Distribution-Version.html#t:VersionRange" title="Distribution.Version">VersionRange</a></td><td class="doc empty">&nbsp;</td></tr></table></div><div class="subs instances"><details id="i:VersionRange" 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:VersionRange:Eq:1"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Eq" title="Distribution.Compat.Prelude.Internal">Eq</a> <a href="Distribution-Version.html#t:VersionRange" title="Distribution.Version">VersionRange</a></span> <a href="#t:VersionRange" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><details id="i:id:VersionRange:Eq:1"><summary class="hide-when-js-enabled">Instance details</summary><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-61--61-">(==)</a> :: <a href="Distribution-Version.html#t:VersionRange" title="Distribution.Version">VersionRange</a> -&gt; <a href="Distribution-Version.html#t:VersionRange" title="Distribution.Version">VersionRange</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-Version.html#t:VersionRange" title="Distribution.Version">VersionRange</a> -&gt; <a href="Distribution-Version.html#t:VersionRange" title="Distribution.Version">VersionRange</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:VersionRange:Data:2"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Data" title="Distribution.Compat.Prelude.Internal">Data</a> <a href="Distribution-Version.html#t:VersionRange" title="Distribution.Version">VersionRange</a></span> <a href="#t:VersionRange" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><details id="i:id:VersionRange:Data:2"><summary class="hide-when-js-enabled">Instance details</summary><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:gfoldl">gfoldl</a> :: (<span class="keyword">forall</span> d b. <a href="Distribution-Compat-Prelude-Internal.html#t:Data" title="Distribution.Compat.Prelude.Internal">Data</a> d =&gt; c (d -&gt; b) -&gt; d -&gt; c b) -&gt; (<span class="keyword">forall</span> g. g -&gt; c g) -&gt; <a href="Distribution-Version.html#t:VersionRange" title="Distribution.Version">VersionRange</a> -&gt; c <a href="Distribution-Version.html#t:VersionRange" title="Distribution.Version">VersionRange</a> <a href="#v:gfoldl" class="selflink">#</a></p><p class="src"><a href="#v:gunfold">gunfold</a> :: (<span class="keyword">forall</span> b r. <a href="Distribution-Compat-Prelude-Internal.html#t:Data" title="Distribution.Compat.Prelude.Internal">Data</a> b =&gt; c (b -&gt; r) -&gt; c r) -&gt; (<span class="keyword">forall</span> r. r -&gt; c r) -&gt; <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/Data-Data.html#t:Constr" title="Data.Data">Constr</a> -&gt; c <a href="Distribution-Version.html#t:VersionRange" title="Distribution.Version">VersionRange</a> <a href="#v:gunfold" class="selflink">#</a></p><p class="src"><a href="#v:toConstr">toConstr</a> :: <a href="Distribution-Version.html#t:VersionRange" title="Distribution.Version">VersionRange</a> -&gt; <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/Data-Data.html#t:Constr" title="Data.Data">Constr</a> <a href="#v:toConstr" class="selflink">#</a></p><p class="src"><a href="#v:dataTypeOf">dataTypeOf</a> :: <a href="Distribution-Version.html#t:VersionRange" title="Distribution.Version">VersionRange</a> -&gt; <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/Data-Data.html#t:DataType" title="Data.Data">DataType</a> <a href="#v:dataTypeOf" class="selflink">#</a></p><p class="src"><a href="#v:dataCast1">dataCast1</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Typeable" title="Distribution.Compat.Prelude.Internal">Typeable</a> t =&gt; (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data" title="Distribution.Compat.Prelude.Internal">Data</a> d =&gt; c (t d)) -&gt; <a href="Distribution-Compat-Prelude-Internal.html#t:Maybe" title="Distribution.Compat.Prelude.Internal">Maybe</a> (c <a href="Distribution-Version.html#t:VersionRange" title="Distribution.Version">VersionRange</a>) <a href="#v:dataCast1" class="selflink">#</a></p><p class="src"><a href="#v:dataCast2">dataCast2</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Typeable" title="Distribution.Compat.Prelude.Internal">Typeable</a> t =&gt; (<span class="keyword">forall</span> d e. (<a href="Distribution-Compat-Prelude-Internal.html#t:Data" title="Distribution.Compat.Prelude.Internal">Data</a> d, <a href="Distribution-Compat-Prelude-Internal.html#t:Data" title="Distribution.Compat.Prelude.Internal">Data</a> e) =&gt; c (t d e)) -&gt; <a href="Distribution-Compat-Prelude-Internal.html#t:Maybe" title="Distribution.Compat.Prelude.Internal">Maybe</a> (c <a href="Distribution-Version.html#t:VersionRange" title="Distribution.Version">VersionRange</a>) <a href="#v:dataCast2" class="selflink">#</a></p><p class="src"><a href="#v:gmapT">gmapT</a> :: (<span class="keyword">forall</span> b. <a href="Distribution-Compat-Prelude-Internal.html#t:Data" title="Distribution.Compat.Prelude.Internal">Data</a> b =&gt; b -&gt; b) -&gt; <a href="Distribution-Version.html#t:VersionRange" title="Distribution.Version">VersionRange</a> -&gt; <a href="Distribution-Version.html#t:VersionRange" title="Distribution.Version">VersionRange</a> <a href="#v:gmapT" class="selflink">#</a></p><p class="src"><a href="#v:gmapQl">gmapQl</a> :: (r -&gt; r' -&gt; r) -&gt; r -&gt; (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data" title="Distribution.Compat.Prelude.Internal">Data</a> d =&gt; d -&gt; r') -&gt; <a href="Distribution-Version.html#t:VersionRange" title="Distribution.Version">VersionRange</a> -&gt; r <a href="#v:gmapQl" class="selflink">#</a></p><p class="src"><a href="#v:gmapQr">gmapQr</a> :: (r' -&gt; r -&gt; r) -&gt; r -&gt; (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data" title="Distribution.Compat.Prelude.Internal">Data</a> d =&gt; d -&gt; r') -&gt; <a href="Distribution-Version.html#t:VersionRange" title="Distribution.Version">VersionRange</a> -&gt; r <a href="#v:gmapQr" class="selflink">#</a></p><p class="src"><a href="#v:gmapQ">gmapQ</a> :: (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data" title="Distribution.Compat.Prelude.Internal">Data</a> d =&gt; d -&gt; u) -&gt; <a href="Distribution-Version.html#t:VersionRange" title="Distribution.Version">VersionRange</a> -&gt; [u] <a href="#v:gmapQ" class="selflink">#</a></p><p class="src"><a href="#v:gmapQi">gmapQi</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Int" title="Distribution.Compat.Prelude.Internal">Int</a> -&gt; (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data" title="Distribution.Compat.Prelude.Internal">Data</a> d =&gt; d -&gt; u) -&gt; <a href="Distribution-Version.html#t:VersionRange" title="Distribution.Version">VersionRange</a> -&gt; u <a href="#v:gmapQi" class="selflink">#</a></p><p class="src"><a href="#v:gmapM">gmapM</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Monad" title="Distribution.Compat.Prelude.Internal">Monad</a> m =&gt; (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data" title="Distribution.Compat.Prelude.Internal">Data</a> d =&gt; d -&gt; m d) -&gt; <a href="Distribution-Version.html#t:VersionRange" title="Distribution.Version">VersionRange</a> -&gt; m <a href="Distribution-Version.html#t:VersionRange" title="Distribution.Version">VersionRange</a> <a href="#v:gmapM" class="selflink">#</a></p><p class="src"><a href="#v:gmapMp">gmapMp</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:MonadPlus" title="Distribution.Compat.Prelude.Internal">MonadPlus</a> m =&gt; (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data" title="Distribution.Compat.Prelude.Internal">Data</a> d =&gt; d -&gt; m d) -&gt; <a href="Distribution-Version.html#t:VersionRange" title="Distribution.Version">VersionRange</a> -&gt; m <a href="Distribution-Version.html#t:VersionRange" title="Distribution.Version">VersionRange</a> <a href="#v:gmapMp" class="selflink">#</a></p><p class="src"><a href="#v:gmapMo">gmapMo</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:MonadPlus" title="Distribution.Compat.Prelude.Internal">MonadPlus</a> m =&gt; (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data" title="Distribution.Compat.Prelude.Internal">Data</a> d =&gt; d -&gt; m d) -&gt; <a href="Distribution-Version.html#t:VersionRange" title="Distribution.Version">VersionRange</a> -&gt; m <a href="Distribution-Version.html#t:VersionRange" title="Distribution.Version">VersionRange</a> <a href="#v:gmapMo" 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:VersionRange:Read:3"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Read" title="Distribution.Compat.Prelude.Internal">Read</a> <a href="Distribution-Version.html#t:VersionRange" title="Distribution.Version">VersionRange</a></span> <a href="#t:VersionRange" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><details id="i:id:VersionRange:Read:3"><summary class="hide-when-js-enabled">Instance details</summary><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:readsPrec">readsPrec</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Int" title="Distribution.Compat.Prelude.Internal">Int</a> -&gt; <a href="Distribution-Compat-ReadP.html#t:ReadS" title="Distribution.Compat.ReadP">ReadS</a> <a href="Distribution-Version.html#t:VersionRange" title="Distribution.Version">VersionRange</a> <a href="#v:readsPrec" class="selflink">#</a></p><p class="src"><a href="#v:readList">readList</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadS" title="Distribution.Compat.ReadP">ReadS</a> [<a href="Distribution-Version.html#t:VersionRange" title="Distribution.Version">VersionRange</a>] <a href="#v:readList" class="selflink">#</a></p><p class="src"><a href="#v:readPrec">readPrec</a> :: <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec" title="Text.ParserCombinators.ReadPrec">ReadPrec</a> <a href="Distribution-Version.html#t:VersionRange" title="Distribution.Version">VersionRange</a> <a href="#v:readPrec" class="selflink">#</a></p><p class="src"><a href="#v:readListPrec">readListPrec</a> :: <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec" title="Text.ParserCombinators.ReadPrec">ReadPrec</a> [<a href="Distribution-Version.html#t:VersionRange" title="Distribution.Version">VersionRange</a>] <a href="#v:readListPrec" 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:VersionRange:Show:4"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Show" title="Distribution.Compat.Prelude.Internal">Show</a> <a href="Distribution-Version.html#t:VersionRange" title="Distribution.Version">VersionRange</a></span> <a href="#t:VersionRange" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><details id="i:id:VersionRange:Show:4"><summary class="hide-when-js-enabled">Instance details</summary><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-Version.html#t:VersionRange" title="Distribution.Version">VersionRange</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-Version.html#t:VersionRange" title="Distribution.Version">VersionRange</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-Version.html#t:VersionRange" title="Distribution.Version">VersionRange</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><tr><td class="src clearfix"><span class="inst-left"><span class="instance details-toggle-control details-toggle" data-details-id="i:id:VersionRange:Generic:5"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Generic" title="Distribution.Compat.Prelude.Internal">Generic</a> <a href="Distribution-Version.html#t:VersionRange" title="Distribution.Version">VersionRange</a></span> <a href="#t:VersionRange" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><details id="i:id:VersionRange:Generic:5"><summary class="hide-when-js-enabled">Instance details</summary><div class="subs associated-types"><p class="caption">Associated Types</p><p class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#t:Rep" title="GHC.Generics">Rep</a> <a href="Distribution-Version.html#t:VersionRange" title="Distribution.Version">VersionRange</a> :: <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/Data-Kind.html#t:-42-" title="Data.Kind">*</a> -&gt; <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/Data-Kind.html#t:-42-" title="Data.Kind">*</a> <a href="#t:Rep" class="selflink">#</a></p></div> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:from">from</a> :: <a href="Distribution-Version.html#t:VersionRange" title="Distribution.Version">VersionRange</a> -&gt; <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#t:Rep" title="GHC.Generics">Rep</a> <a href="Distribution-Version.html#t:VersionRange" title="Distribution.Version">VersionRange</a> x <a href="#v:from" class="selflink">#</a></p><p class="src"><a href="#v:to">to</a> :: <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#t:Rep" title="GHC.Generics">Rep</a> <a href="Distribution-Version.html#t:VersionRange" title="Distribution.Version">VersionRange</a> x -&gt; <a href="Distribution-Version.html#t:VersionRange" title="Distribution.Version">VersionRange</a> <a href="#v:to" 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:VersionRange:Binary:6"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Binary" title="Distribution.Compat.Prelude.Internal">Binary</a> <a href="Distribution-Version.html#t:VersionRange" title="Distribution.Version">VersionRange</a></span> <a href="#t:VersionRange" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><details id="i:id:VersionRange:Binary:6"><summary class="hide-when-js-enabled">Instance details</summary><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:put">put</a> :: <a href="Distribution-Version.html#t:VersionRange" title="Distribution.Version">VersionRange</a> -&gt; <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put" title="Data.Binary.Put">Put</a> <a href="#v:put" class="selflink">#</a></p><p class="src"><a href="#v:get">get</a> :: <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/binary-0.8.5.1/Data-Binary-Get-Internal.html#t:Get" title="Data.Binary.Get.Internal">Get</a> <a href="Distribution-Version.html#t:VersionRange" title="Distribution.Version">VersionRange</a> <a href="#v:get" class="selflink">#</a></p><p class="src"><a href="#v:putList">putList</a> :: [<a href="Distribution-Version.html#t:VersionRange" title="Distribution.Version">VersionRange</a>] -&gt; <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/binary-0.8.5.1/Data-Binary-Put.html#t:Put" title="Data.Binary.Put">Put</a> <a href="#v:putList" 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:VersionRange:NFData:7"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:NFData" title="Distribution.Compat.Prelude.Internal">NFData</a> <a href="Distribution-Version.html#t:VersionRange" title="Distribution.Version">VersionRange</a></span> <a href="#t:VersionRange" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><details id="i:id:VersionRange:NFData:7"><summary class="hide-when-js-enabled">Instance details</summary><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:rnf">rnf</a> :: <a href="Distribution-Version.html#t:VersionRange" title="Distribution.Version">VersionRange</a> -&gt; () <a href="#v:rnf" 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:VersionRange:Pretty:8"></span> <a href="Distribution-Pretty.html#t:Pretty" title="Distribution.Pretty">Pretty</a> <a href="Distribution-Version.html#t:VersionRange" title="Distribution.Version">VersionRange</a></span> <a href="#t:VersionRange" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><details id="i:id:VersionRange:Pretty:8"><summary class="hide-when-js-enabled">Instance details</summary><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:pretty">pretty</a> :: <a href="Distribution-Version.html#t:VersionRange" title="Distribution.Version">VersionRange</a> -&gt; <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/pretty-1.1.3.6/Text-PrettyPrint.html#t:Doc" title="Text.PrettyPrint">Doc</a> <a href="#v:pretty" 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:VersionRange:Parsec:9"></span> <a href="Distribution-Parsec-Class.html#t:Parsec" title="Distribution.Parsec.Class">Parsec</a> <a href="Distribution-Version.html#t:VersionRange" title="Distribution.Version">VersionRange</a></span> <a href="#t:VersionRange" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><details id="i:id:VersionRange:Parsec:9"><summary class="hide-when-js-enabled">Instance details</summary><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:parsec">parsec</a> :: <a href="Distribution-Parsec-Class.html#t:CabalParsing" title="Distribution.Parsec.Class">CabalParsing</a> m =&gt; m <a href="Distribution-Version.html#t:VersionRange" title="Distribution.Version">VersionRange</a> <a href="#v:parsec" 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:VersionRange:Text:10"></span> <a href="Distribution-Text.html#t:Text" title="Distribution.Text">Text</a> <a href="Distribution-Version.html#t:VersionRange" title="Distribution.Version">VersionRange</a></span> <a href="#t:VersionRange" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><details id="i:id:VersionRange:Text:10"><summary class="hide-when-js-enabled">Instance details</summary><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:disp">disp</a> :: <a href="Distribution-Version.html#t:VersionRange" title="Distribution.Version">VersionRange</a> -&gt; <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/pretty-1.1.3.6/Text-PrettyPrint.html#t:Doc" title="Text.PrettyPrint">Doc</a> <a href="#v:disp" class="selflink">#</a></p><p class="src"><a href="#v:parse">parse</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadP" title="Distribution.Compat.ReadP">ReadP</a> r <a href="Distribution-Version.html#t:VersionRange" title="Distribution.Version">VersionRange</a> <a href="#v:parse" 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:VersionRange:Newtype:11"></span> <a href="Distribution-Compat-Newtype.html#t:Newtype" title="Distribution.Compat.Newtype">Newtype</a> <a href="Distribution-Parsec-Newtypes.html#t:TestedWith" title="Distribution.Parsec.Newtypes">TestedWith</a> (<a href="Distribution-Compiler.html#t:CompilerFlavor" title="Distribution.Compiler">CompilerFlavor</a>, <a href="Distribution-Version.html#t:VersionRange" title="Distribution.Version">VersionRange</a>)</span> <a href="#t:Newtype" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><details id="i:id:VersionRange:Newtype:11"><summary class="hide-when-js-enabled">Instance details</summary><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:pack">pack</a> :: (<a href="Distribution-Compiler.html#t:CompilerFlavor" title="Distribution.Compiler">CompilerFlavor</a>, <a href="Distribution-Version.html#t:VersionRange" title="Distribution.Version">VersionRange</a>) -&gt; <a href="Distribution-Parsec-Newtypes.html#t:TestedWith" title="Distribution.Parsec.Newtypes">TestedWith</a> <a href="#v:pack" class="selflink">#</a></p><p class="src"><a href="#v:unpack">unpack</a> :: <a href="Distribution-Parsec-Newtypes.html#t:TestedWith" title="Distribution.Parsec.Newtypes">TestedWith</a> -&gt; (<a href="Distribution-Compiler.html#t:CompilerFlavor" title="Distribution.Compiler">CompilerFlavor</a>, <a href="Distribution-Version.html#t:VersionRange" title="Distribution.Version">VersionRange</a>) <a href="#v:unpack" 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:VersionRange:Newtype:12"></span> <a href="Distribution-Compat-Newtype.html#t:Newtype" title="Distribution.Compat.Newtype">Newtype</a> <a href="Distribution-Parsec-Newtypes.html#t:SpecVersion" title="Distribution.Parsec.Newtypes">SpecVersion</a> (<a href="Distribution-Compat-Prelude-Internal.html#t:Either" title="Distribution.Compat.Prelude.Internal">Either</a> <a href="Distribution-Version.html#t:Version" title="Distribution.Version">Version</a> <a href="Distribution-Version.html#t:VersionRange" title="Distribution.Version">VersionRange</a>)</span> <a href="#t:Newtype" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><details id="i:id:VersionRange:Newtype:12"><summary class="hide-when-js-enabled">Instance details</summary><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:pack">pack</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Either" title="Distribution.Compat.Prelude.Internal">Either</a> <a href="Distribution-Version.html#t:Version" title="Distribution.Version">Version</a> <a href="Distribution-Version.html#t:VersionRange" title="Distribution.Version">VersionRange</a> -&gt; <a href="Distribution-Parsec-Newtypes.html#t:SpecVersion" title="Distribution.Parsec.Newtypes">SpecVersion</a> <a href="#v:pack" class="selflink">#</a></p><p class="src"><a href="#v:unpack">unpack</a> :: <a href="Distribution-Parsec-Newtypes.html#t:SpecVersion" title="Distribution.Parsec.Newtypes">SpecVersion</a> -&gt; <a href="Distribution-Compat-Prelude-Internal.html#t:Either" title="Distribution.Compat.Prelude.Internal">Either</a> <a href="Distribution-Version.html#t:Version" title="Distribution.Version">Version</a> <a href="Distribution-Version.html#t:VersionRange" title="Distribution.Version">VersionRange</a> <a href="#v:unpack" 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:VersionRange:Rep:13"></span> <span class="keyword">type</span> <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#t:Rep" title="GHC.Generics">Rep</a> <a href="Distribution-Version.html#t:VersionRange" title="Distribution.Version">VersionRange</a></span> <a href="#t:VersionRange" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><details id="i:id:VersionRange:Rep:13"><summary class="hide-when-js-enabled">Instance details</summary><div class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#t:Rep" title="GHC.Generics">Rep</a> <a href="Distribution-Version.html#t:VersionRange" title="Distribution.Version">VersionRange</a> = <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#t:D1" title="GHC.Generics">D1</a> (<a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#v:MetaData" title="GHC.Generics">MetaData</a> &quot;VersionRange&quot; &quot;Distribution.Types.VersionRange&quot; &quot;Cabal-2.2.0.1-JS0vobxWxH7sbYKd0omMO&quot; <a href="Distribution-Compat-Prelude-Internal.html#v:False" title="Distribution.Compat.Prelude.Internal">False</a>) (((<a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#t:C1" title="GHC.Generics">C1</a> (<a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#v:MetaCons" title="GHC.Generics">MetaCons</a> &quot;AnyVersion&quot; <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#v:PrefixI" title="GHC.Generics">PrefixI</a> <a href="Distribution-Compat-Prelude-Internal.html#v:False" title="Distribution.Compat.Prelude.Internal">False</a>) (<a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#t:U1" title="GHC.Generics">U1</a> :: <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/Data-Kind.html#t:-42-" title="Data.Kind">*</a> -&gt; <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/Data-Kind.html#t:-42-" title="Data.Kind">*</a>) <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#t::-43-:" title="GHC.Generics">:+:</a> <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#t:C1" title="GHC.Generics">C1</a> (<a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#v:MetaCons" title="GHC.Generics">MetaCons</a> &quot;ThisVersion&quot; <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#v:PrefixI" title="GHC.Generics">PrefixI</a> <a href="Distribution-Compat-Prelude-Internal.html#v:False" title="Distribution.Compat.Prelude.Internal">False</a>) (<a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#t:S1" title="GHC.Generics">S1</a> (<a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#v:MetaSel" title="GHC.Generics">MetaSel</a> (<a href="Distribution-Compat-Prelude-Internal.html#v:Nothing" title="Distribution.Compat.Prelude.Internal">Nothing</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Maybe" title="Distribution.Compat.Prelude.Internal">Maybe</a> <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-TypeLits.html#t:Symbol" title="GHC.TypeLits">Symbol</a>) <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#v:NoSourceUnpackedness" title="GHC.Generics">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#v:NoSourceStrictness" title="GHC.Generics">NoSourceStrictness</a> <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#v:DecidedLazy" title="GHC.Generics">DecidedLazy</a>) (<a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#t:Rec0" title="GHC.Generics">Rec0</a> <a href="Distribution-Version.html#t:Version" title="Distribution.Version">Version</a>))) <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#t::-43-:" title="GHC.Generics">:+:</a> (<a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#t:C1" title="GHC.Generics">C1</a> (<a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#v:MetaCons" title="GHC.Generics">MetaCons</a> &quot;LaterVersion&quot; <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#v:PrefixI" title="GHC.Generics">PrefixI</a> <a href="Distribution-Compat-Prelude-Internal.html#v:False" title="Distribution.Compat.Prelude.Internal">False</a>) (<a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#t:S1" title="GHC.Generics">S1</a> (<a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#v:MetaSel" title="GHC.Generics">MetaSel</a> (<a href="Distribution-Compat-Prelude-Internal.html#v:Nothing" title="Distribution.Compat.Prelude.Internal">Nothing</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Maybe" title="Distribution.Compat.Prelude.Internal">Maybe</a> <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-TypeLits.html#t:Symbol" title="GHC.TypeLits">Symbol</a>) <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#v:NoSourceUnpackedness" title="GHC.Generics">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#v:NoSourceStrictness" title="GHC.Generics">NoSourceStrictness</a> <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#v:DecidedLazy" title="GHC.Generics">DecidedLazy</a>) (<a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#t:Rec0" title="GHC.Generics">Rec0</a> <a href="Distribution-Version.html#t:Version" title="Distribution.Version">Version</a>)) <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#t::-43-:" title="GHC.Generics">:+:</a> (<a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#t:C1" title="GHC.Generics">C1</a> (<a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#v:MetaCons" title="GHC.Generics">MetaCons</a> &quot;OrLaterVersion&quot; <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#v:PrefixI" title="GHC.Generics">PrefixI</a> <a href="Distribution-Compat-Prelude-Internal.html#v:False" title="Distribution.Compat.Prelude.Internal">False</a>) (<a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#t:S1" title="GHC.Generics">S1</a> (<a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#v:MetaSel" title="GHC.Generics">MetaSel</a> (<a href="Distribution-Compat-Prelude-Internal.html#v:Nothing" title="Distribution.Compat.Prelude.Internal">Nothing</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Maybe" title="Distribution.Compat.Prelude.Internal">Maybe</a> <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-TypeLits.html#t:Symbol" title="GHC.TypeLits">Symbol</a>) <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#v:NoSourceUnpackedness" title="GHC.Generics">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#v:NoSourceStrictness" title="GHC.Generics">NoSourceStrictness</a> <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#v:DecidedLazy" title="GHC.Generics">DecidedLazy</a>) (<a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#t:Rec0" title="GHC.Generics">Rec0</a> <a href="Distribution-Version.html#t:Version" title="Distribution.Version">Version</a>)) <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#t::-43-:" title="GHC.Generics">:+:</a> <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#t:C1" title="GHC.Generics">C1</a> (<a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#v:MetaCons" title="GHC.Generics">MetaCons</a> &quot;EarlierVersion&quot; <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#v:PrefixI" title="GHC.Generics">PrefixI</a> <a href="Distribution-Compat-Prelude-Internal.html#v:False" title="Distribution.Compat.Prelude.Internal">False</a>) (<a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#t:S1" title="GHC.Generics">S1</a> (<a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#v:MetaSel" title="GHC.Generics">MetaSel</a> (<a href="Distribution-Compat-Prelude-Internal.html#v:Nothing" title="Distribution.Compat.Prelude.Internal">Nothing</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Maybe" title="Distribution.Compat.Prelude.Internal">Maybe</a> <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-TypeLits.html#t:Symbol" title="GHC.TypeLits">Symbol</a>) <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#v:NoSourceUnpackedness" title="GHC.Generics">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#v:NoSourceStrictness" title="GHC.Generics">NoSourceStrictness</a> <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#v:DecidedLazy" title="GHC.Generics">DecidedLazy</a>) (<a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#t:Rec0" title="GHC.Generics">Rec0</a> <a href="Distribution-Version.html#t:Version" title="Distribution.Version">Version</a>))))) <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#t::-43-:" title="GHC.Generics">:+:</a> ((<a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#t:C1" title="GHC.Generics">C1</a> (<a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#v:MetaCons" title="GHC.Generics">MetaCons</a> &quot;OrEarlierVersion&quot; <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#v:PrefixI" title="GHC.Generics">PrefixI</a> <a href="Distribution-Compat-Prelude-Internal.html#v:False" title="Distribution.Compat.Prelude.Internal">False</a>) (<a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#t:S1" title="GHC.Generics">S1</a> (<a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#v:MetaSel" title="GHC.Generics">MetaSel</a> (<a href="Distribution-Compat-Prelude-Internal.html#v:Nothing" title="Distribution.Compat.Prelude.Internal">Nothing</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Maybe" title="Distribution.Compat.Prelude.Internal">Maybe</a> <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-TypeLits.html#t:Symbol" title="GHC.TypeLits">Symbol</a>) <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#v:NoSourceUnpackedness" title="GHC.Generics">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#v:NoSourceStrictness" title="GHC.Generics">NoSourceStrictness</a> <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#v:DecidedLazy" title="GHC.Generics">DecidedLazy</a>) (<a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#t:Rec0" title="GHC.Generics">Rec0</a> <a href="Distribution-Version.html#t:Version" title="Distribution.Version">Version</a>)) <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#t::-43-:" title="GHC.Generics">:+:</a> (<a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#t:C1" title="GHC.Generics">C1</a> (<a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#v:MetaCons" title="GHC.Generics">MetaCons</a> &quot;WildcardVersion&quot; <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#v:PrefixI" title="GHC.Generics">PrefixI</a> <a href="Distribution-Compat-Prelude-Internal.html#v:False" title="Distribution.Compat.Prelude.Internal">False</a>) (<a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#t:S1" title="GHC.Generics">S1</a> (<a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#v:MetaSel" title="GHC.Generics">MetaSel</a> (<a href="Distribution-Compat-Prelude-Internal.html#v:Nothing" title="Distribution.Compat.Prelude.Internal">Nothing</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Maybe" title="Distribution.Compat.Prelude.Internal">Maybe</a> <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-TypeLits.html#t:Symbol" title="GHC.TypeLits">Symbol</a>) <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#v:NoSourceUnpackedness" title="GHC.Generics">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#v:NoSourceStrictness" title="GHC.Generics">NoSourceStrictness</a> <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#v:DecidedLazy" title="GHC.Generics">DecidedLazy</a>) (<a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#t:Rec0" title="GHC.Generics">Rec0</a> <a href="Distribution-Version.html#t:Version" title="Distribution.Version">Version</a>)) <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#t::-43-:" title="GHC.Generics">:+:</a> <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#t:C1" title="GHC.Generics">C1</a> (<a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#v:MetaCons" title="GHC.Generics">MetaCons</a> &quot;MajorBoundVersion&quot; <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#v:PrefixI" title="GHC.Generics">PrefixI</a> <a href="Distribution-Compat-Prelude-Internal.html#v:False" title="Distribution.Compat.Prelude.Internal">False</a>) (<a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#t:S1" title="GHC.Generics">S1</a> (<a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#v:MetaSel" title="GHC.Generics">MetaSel</a> (<a href="Distribution-Compat-Prelude-Internal.html#v:Nothing" title="Distribution.Compat.Prelude.Internal">Nothing</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Maybe" title="Distribution.Compat.Prelude.Internal">Maybe</a> <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-TypeLits.html#t:Symbol" title="GHC.TypeLits">Symbol</a>) <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#v:NoSourceUnpackedness" title="GHC.Generics">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#v:NoSourceStrictness" title="GHC.Generics">NoSourceStrictness</a> <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#v:DecidedLazy" title="GHC.Generics">DecidedLazy</a>) (<a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#t:Rec0" title="GHC.Generics">Rec0</a> <a href="Distribution-Version.html#t:Version" title="Distribution.Version">Version</a>)))) <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#t::-43-:" title="GHC.Generics">:+:</a> (<a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#t:C1" title="GHC.Generics">C1</a> (<a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#v:MetaCons" title="GHC.Generics">MetaCons</a> &quot;UnionVersionRanges&quot; <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#v:PrefixI" title="GHC.Generics">PrefixI</a> <a href="Distribution-Compat-Prelude-Internal.html#v:False" title="Distribution.Compat.Prelude.Internal">False</a>) (<a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#t:S1" title="GHC.Generics">S1</a> (<a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#v:MetaSel" title="GHC.Generics">MetaSel</a> (<a href="Distribution-Compat-Prelude-Internal.html#v:Nothing" title="Distribution.Compat.Prelude.Internal">Nothing</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Maybe" title="Distribution.Compat.Prelude.Internal">Maybe</a> <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-TypeLits.html#t:Symbol" title="GHC.TypeLits">Symbol</a>) <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#v:NoSourceUnpackedness" title="GHC.Generics">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#v:NoSourceStrictness" title="GHC.Generics">NoSourceStrictness</a> <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#v:DecidedLazy" title="GHC.Generics">DecidedLazy</a>) (<a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#t:Rec0" title="GHC.Generics">Rec0</a> <a href="Distribution-Version.html#t:VersionRange" title="Distribution.Version">VersionRange</a>) <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#t::-42-:" title="GHC.Generics">:*:</a> <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#t:S1" title="GHC.Generics">S1</a> (<a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#v:MetaSel" title="GHC.Generics">MetaSel</a> (<a href="Distribution-Compat-Prelude-Internal.html#v:Nothing" title="Distribution.Compat.Prelude.Internal">Nothing</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Maybe" title="Distribution.Compat.Prelude.Internal">Maybe</a> <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-TypeLits.html#t:Symbol" title="GHC.TypeLits">Symbol</a>) <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#v:NoSourceUnpackedness" title="GHC.Generics">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#v:NoSourceStrictness" title="GHC.Generics">NoSourceStrictness</a> <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#v:DecidedLazy" title="GHC.Generics">DecidedLazy</a>) (<a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#t:Rec0" title="GHC.Generics">Rec0</a> <a href="Distribution-Version.html#t:VersionRange" title="Distribution.Version">VersionRange</a>)) <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#t::-43-:" title="GHC.Generics">:+:</a> (<a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#t:C1" title="GHC.Generics">C1</a> (<a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#v:MetaCons" title="GHC.Generics">MetaCons</a> &quot;IntersectVersionRanges&quot; <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#v:PrefixI" title="GHC.Generics">PrefixI</a> <a href="Distribution-Compat-Prelude-Internal.html#v:False" title="Distribution.Compat.Prelude.Internal">False</a>) (<a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#t:S1" title="GHC.Generics">S1</a> (<a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#v:MetaSel" title="GHC.Generics">MetaSel</a> (<a href="Distribution-Compat-Prelude-Internal.html#v:Nothing" title="Distribution.Compat.Prelude.Internal">Nothing</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Maybe" title="Distribution.Compat.Prelude.Internal">Maybe</a> <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-TypeLits.html#t:Symbol" title="GHC.TypeLits">Symbol</a>) <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#v:NoSourceUnpackedness" title="GHC.Generics">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#v:NoSourceStrictness" title="GHC.Generics">NoSourceStrictness</a> <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#v:DecidedLazy" title="GHC.Generics">DecidedLazy</a>) (<a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#t:Rec0" title="GHC.Generics">Rec0</a> <a href="Distribution-Version.html#t:VersionRange" title="Distribution.Version">VersionRange</a>) <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#t::-42-:" title="GHC.Generics">:*:</a> <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#t:S1" title="GHC.Generics">S1</a> (<a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#v:MetaSel" title="GHC.Generics">MetaSel</a> (<a href="Distribution-Compat-Prelude-Internal.html#v:Nothing" title="Distribution.Compat.Prelude.Internal">Nothing</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Maybe" title="Distribution.Compat.Prelude.Internal">Maybe</a> <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-TypeLits.html#t:Symbol" title="GHC.TypeLits">Symbol</a>) <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#v:NoSourceUnpackedness" title="GHC.Generics">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#v:NoSourceStrictness" title="GHC.Generics">NoSourceStrictness</a> <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#v:DecidedLazy" title="GHC.Generics">DecidedLazy</a>) (<a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#t:Rec0" title="GHC.Generics">Rec0</a> <a href="Distribution-Version.html#t:VersionRange" title="Distribution.Version">VersionRange</a>)) <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#t::-43-:" title="GHC.Generics">:+:</a> <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#t:C1" title="GHC.Generics">C1</a> (<a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#v:MetaCons" title="GHC.Generics">MetaCons</a> &quot;VersionRangeParens&quot; <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#v:PrefixI" title="GHC.Generics">PrefixI</a> <a href="Distribution-Compat-Prelude-Internal.html#v:False" title="Distribution.Compat.Prelude.Internal">False</a>) (<a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#t:S1" title="GHC.Generics">S1</a> (<a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#v:MetaSel" title="GHC.Generics">MetaSel</a> (<a href="Distribution-Compat-Prelude-Internal.html#v:Nothing" title="Distribution.Compat.Prelude.Internal">Nothing</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Maybe" title="Distribution.Compat.Prelude.Internal">Maybe</a> <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-TypeLits.html#t:Symbol" title="GHC.TypeLits">Symbol</a>) <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#v:NoSourceUnpackedness" title="GHC.Generics">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#v:NoSourceStrictness" title="GHC.Generics">NoSourceStrictness</a> <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#v:DecidedLazy" title="GHC.Generics">DecidedLazy</a>) (<a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#t:Rec0" title="GHC.Generics">Rec0</a> <a href="Distribution-Version.html#t:VersionRange" title="Distribution.Version">VersionRange</a>))))))</div></details></td></tr></table></details></div></div><a href="#g:4" id="g:4"><h2>Constructing</h2></a><div class="top"><p class="src"><a id="v:anyVersion" class="def">anyVersion</a> :: <a href="Distribution-Version.html#t:VersionRange" title="Distribution.Version">VersionRange</a> <a href="#v:anyVersion" class="selflink">#</a></p><div class="doc"><p>The version range <code>-any</code>. That is, a version range containing all
 versions.</p><pre>withinRange v anyVersion = True</pre></div></div><div class="top"><p class="src"><a id="v:noVersion" class="def">noVersion</a> :: <a href="Distribution-Version.html#t:VersionRange" title="Distribution.Version">VersionRange</a> <a href="#v:noVersion" class="selflink">#</a></p><div class="doc"><p>The empty version range, that is a version range containing no versions.</p><p>This can be constructed using any unsatisfiable version range expression,
 for example <code>&gt; 1 &amp;&amp; &lt; 1</code>.</p><pre>withinRange v noVersion = False</pre></div></div><div class="top"><p class="src"><a id="v:thisVersion" class="def">thisVersion</a> :: <a href="Distribution-Version.html#t:Version" title="Distribution.Version">Version</a> -&gt; <a href="Distribution-Version.html#t:VersionRange" title="Distribution.Version">VersionRange</a> <a href="#v:thisVersion" class="selflink">#</a></p><div class="doc"><p>The version range <code>== v</code></p><pre>withinRange v' (thisVersion v) = v' == v</pre></div></div><div class="top"><p class="src"><a id="v:notThisVersion" class="def">notThisVersion</a> :: <a href="Distribution-Version.html#t:Version" title="Distribution.Version">Version</a> -&gt; <a href="Distribution-Version.html#t:VersionRange" title="Distribution.Version">VersionRange</a> <a href="#v:notThisVersion" class="selflink">#</a></p><div class="doc"><p>The version range <code><a href="v">||</a> v</code></p><pre>withinRange v' (notThisVersion v) = v' /= v</pre></div></div><div class="top"><p class="src"><a id="v:laterVersion" class="def">laterVersion</a> :: <a href="Distribution-Version.html#t:Version" title="Distribution.Version">Version</a> -&gt; <a href="Distribution-Version.html#t:VersionRange" title="Distribution.Version">VersionRange</a> <a href="#v:laterVersion" class="selflink">#</a></p><div class="doc"><p>The version range <code>&gt; v</code></p><pre>withinRange v' (laterVersion v) = v' &gt; v</pre></div></div><div class="top"><p class="src"><a id="v:earlierVersion" class="def">earlierVersion</a> :: <a href="Distribution-Version.html#t:Version" title="Distribution.Version">Version</a> -&gt; <a href="Distribution-Version.html#t:VersionRange" title="Distribution.Version">VersionRange</a> <a href="#v:earlierVersion" class="selflink">#</a></p><div class="doc"><p>The version range <code>&lt; v</code></p><pre>withinRange v' (earlierVersion v) = v' &lt; v</pre></div></div><div class="top"><p class="src"><a id="v:orLaterVersion" class="def">orLaterVersion</a> :: <a href="Distribution-Version.html#t:Version" title="Distribution.Version">Version</a> -&gt; <a href="Distribution-Version.html#t:VersionRange" title="Distribution.Version">VersionRange</a> <a href="#v:orLaterVersion" class="selflink">#</a></p><div class="doc"><p>The version range <code>&gt;= v</code></p><pre>withinRange v' (orLaterVersion v) = v' &gt;= v</pre></div></div><div class="top"><p class="src"><a id="v:orEarlierVersion" class="def">orEarlierVersion</a> :: <a href="Distribution-Version.html#t:Version" title="Distribution.Version">Version</a> -&gt; <a href="Distribution-Version.html#t:VersionRange" title="Distribution.Version">VersionRange</a> <a href="#v:orEarlierVersion" class="selflink">#</a></p><div class="doc"><p>The version range <code>&lt;= v</code></p><pre>withinRange v' (orEarlierVersion v) = v' &lt;= v</pre></div></div><div class="top"><p class="src"><a id="v:unionVersionRanges" class="def">unionVersionRanges</a> :: <a href="Distribution-Version.html#t:VersionRange" title="Distribution.Version">VersionRange</a> -&gt; <a href="Distribution-Version.html#t:VersionRange" title="Distribution.Version">VersionRange</a> -&gt; <a href="Distribution-Version.html#t:VersionRange" title="Distribution.Version">VersionRange</a> <a href="#v:unionVersionRanges" class="selflink">#</a></p><div class="doc"><p>The version range <code>vr1 || vr2</code></p><pre>  withinRange v' (unionVersionRanges vr1 vr2)
= withinRange v' vr1 || withinRange v' vr2</pre></div></div><div class="top"><p class="src"><a id="v:intersectVersionRanges" class="def">intersectVersionRanges</a> :: <a href="Distribution-Version.html#t:VersionRange" title="Distribution.Version">VersionRange</a> -&gt; <a href="Distribution-Version.html#t:VersionRange" title="Distribution.Version">VersionRange</a> -&gt; <a href="Distribution-Version.html#t:VersionRange" title="Distribution.Version">VersionRange</a> <a href="#v:intersectVersionRanges" class="selflink">#</a></p><div class="doc"><p>The version range <code>vr1 &amp;&amp; vr2</code></p><pre>  withinRange v' (intersectVersionRanges vr1 vr2)
= withinRange v' vr1 &amp;&amp; withinRange v' vr2</pre></div></div><div class="top"><p class="src"><a id="v:differenceVersionRanges" class="def">differenceVersionRanges</a> :: <a href="Distribution-Version.html#t:VersionRange" title="Distribution.Version">VersionRange</a> -&gt; <a href="Distribution-Version.html#t:VersionRange" title="Distribution.Version">VersionRange</a> -&gt; <a href="Distribution-Version.html#t:VersionRange" title="Distribution.Version">VersionRange</a> <a href="#v:differenceVersionRanges" class="selflink">#</a></p><div class="doc"><p>The difference of two version ranges</p><pre>  withinRange v' (differenceVersionRanges vr1 vr2)
= withinRange v' vr1 &amp;&amp; not (withinRange v' vr2)</pre><p><em>Since: 1.24.1.0</em></p></div></div><div class="top"><p class="src"><a id="v:invertVersionRange" class="def">invertVersionRange</a> :: <a href="Distribution-Version.html#t:VersionRange" title="Distribution.Version">VersionRange</a> -&gt; <a href="Distribution-Version.html#t:VersionRange" title="Distribution.Version">VersionRange</a> <a href="#v:invertVersionRange" class="selflink">#</a></p><div class="doc"><p>The inverse of a version range</p><pre>  withinRange v' (invertVersionRange vr)
= not (withinRange v' vr)</pre></div></div><div class="top"><p class="src"><a id="v:withinVersion" class="def">withinVersion</a> :: <a href="Distribution-Version.html#t:Version" title="Distribution.Version">Version</a> -&gt; <a href="Distribution-Version.html#t:VersionRange" title="Distribution.Version">VersionRange</a> <a href="#v:withinVersion" class="selflink">#</a></p><div class="doc"><p>The version range <code>== v.*</code>.</p><p>For example, for version <code>1.2</code>, the version range <code>== 1.2.*</code> is the same as
 <code>&gt;= 1.2 &amp;&amp; &lt; 1.3</code></p><pre>withinRange v' (laterVersion v) = v' &gt;= v &amp;&amp; v' &lt; upper v
  where
    upper (Version lower t) = Version (init lower ++ [last lower + 1]) t</pre></div></div><div class="top"><p class="src"><a id="v:majorBoundVersion" class="def">majorBoundVersion</a> :: <a href="Distribution-Version.html#t:Version" title="Distribution.Version">Version</a> -&gt; <a href="Distribution-Version.html#t:VersionRange" title="Distribution.Version">VersionRange</a> <a href="#v:majorBoundVersion" class="selflink">#</a></p><div class="doc"><p>The version range <code>^&gt;= v</code>.</p><p>For example, for version <code>1.2.3.4</code>, the version range <code>^&gt;= 1.2.3.4</code> is the same as
 <code>&gt;= 1.2.3.4 &amp;&amp; &lt; 1.3</code>.</p><p>Note that <code>^&gt;= 1</code> is equivalent to <code>&gt;= 1 &amp;&amp; &lt; 1.1</code>.</p><p><em>Since: 2.0.0.2</em></p></div></div><div class="top"><p class="src"><a id="v:betweenVersionsInclusive" class="def">betweenVersionsInclusive</a> :: <a href="Distribution-Version.html#t:Version" title="Distribution.Version">Version</a> -&gt; <a href="Distribution-Version.html#t:Version" title="Distribution.Version">Version</a> -&gt; <a href="Distribution-Version.html#t:VersionRange" title="Distribution.Version">VersionRange</a> <a href="#v:betweenVersionsInclusive" class="selflink">#</a></p><div class="doc"><div class="warning"><p>Deprecated: In practice this is not very useful because we normally use inclusive lower bounds and exclusive upper bounds</p></div></div></div><a href="#g:5" id="g:5"><h2>Inspection</h2></a><div class="top"><p class="src"><a id="v:withinRange" class="def">withinRange</a> :: <a href="Distribution-Version.html#t:Version" title="Distribution.Version">Version</a> -&gt; <a href="Distribution-Version.html#t:VersionRange" title="Distribution.Version">VersionRange</a> -&gt; <a href="Distribution-Compat-Prelude-Internal.html#t:Bool" title="Distribution.Compat.Prelude.Internal">Bool</a> <a href="#v:withinRange" class="selflink">#</a></p><div class="doc"><p>Does this version fall within the given range?</p><p>This is the evaluation function for the <code><a href="Distribution-Version.html#t:VersionRange" title="Distribution.Version">VersionRange</a></code> type.</p></div></div><div class="top"><p class="src"><a id="v:isAnyVersion" class="def">isAnyVersion</a> :: <a href="Distribution-Version.html#t:VersionRange" title="Distribution.Version">VersionRange</a> -&gt; <a href="Distribution-Compat-Prelude-Internal.html#t:Bool" title="Distribution.Compat.Prelude.Internal">Bool</a> <a href="#v:isAnyVersion" class="selflink">#</a></p><div class="doc"><p>Does this <code><a href="Distribution-Version.html#t:VersionRange" title="Distribution.Version">VersionRange</a></code> place any restriction on the <code><a href="Distribution-Version.html#t:Version" title="Distribution.Version">Version</a></code> or is it
 in fact equivalent to <code><a href="Distribution-Version.html#v:AnyVersion" title="Distribution.Version">AnyVersion</a></code>.</p><p>Note this is a semantic check, not simply a syntactic check. So for example
 the following is <code>True</code> (for all <code>v</code>).</p><pre>isAnyVersion (EarlierVersion v `UnionVersionRanges` orLaterVersion v)</pre></div></div><div class="top"><p class="src"><a id="v:isNoVersion" class="def">isNoVersion</a> :: <a href="Distribution-Version.html#t:VersionRange" title="Distribution.Version">VersionRange</a> -&gt; <a href="Distribution-Compat-Prelude-Internal.html#t:Bool" title="Distribution.Compat.Prelude.Internal">Bool</a> <a href="#v:isNoVersion" class="selflink">#</a></p><div class="doc"><p>This is the converse of <code><a href="Distribution-Version.html#v:isAnyVersion" title="Distribution.Version">isAnyVersion</a></code>. It check if the version range is
 empty, if there is no possible version that satisfies the version range.</p><p>For example this is <code>True</code> (for all <code>v</code>):</p><pre>isNoVersion (EarlierVersion v `IntersectVersionRanges` LaterVersion v)</pre></div></div><div class="top"><p class="src"><a id="v:isSpecificVersion" class="def">isSpecificVersion</a> :: <a href="Distribution-Version.html#t:VersionRange" title="Distribution.Version">VersionRange</a> -&gt; <a href="Distribution-Compat-Prelude-Internal.html#t:Maybe" title="Distribution.Compat.Prelude.Internal">Maybe</a> <a href="Distribution-Version.html#t:Version" title="Distribution.Version">Version</a> <a href="#v:isSpecificVersion" class="selflink">#</a></p><div class="doc"><p>Is this version range in fact just a specific version?</p><p>For example the version range <code>&quot;&gt;= 3 &amp;&amp; &lt;= 3&quot;</code> contains only the version
 <code>3</code>.</p></div></div><div class="top"><p class="src"><a id="v:simplifyVersionRange" class="def">simplifyVersionRange</a> :: <a href="Distribution-Version.html#t:VersionRange" title="Distribution.Version">VersionRange</a> -&gt; <a href="Distribution-Version.html#t:VersionRange" title="Distribution.Version">VersionRange</a> <a href="#v:simplifyVersionRange" class="selflink">#</a></p><div class="doc"><p>Simplify a <code><a href="Distribution-Version.html#t:VersionRange" title="Distribution.Version">VersionRange</a></code> expression. For non-empty version ranges
 this produces a canonical form. Empty or inconsistent version ranges
 are left as-is because that provides more information.</p><p>If you need a canonical form use
 <code>fromVersionIntervals . toVersionIntervals</code></p><p>It satisfies the following properties:</p><pre>withinRange v (simplifyVersionRange r) = withinRange v r</pre><pre>    withinRange v r = withinRange v r'
==&gt; simplifyVersionRange r = simplifyVersionRange r'
 || isNoVersion r
 || isNoVersion r'</pre></div></div><div class="top"><p class="src"><a id="v:foldVersionRange" class="def">foldVersionRange</a> <a href="#v:foldVersionRange" class="selflink">#</a></p><div class="subs arguments"><p class="caption">Arguments</p><table><tr><td class="src">:: a</td><td class="doc"><p><code>&quot;-any&quot;</code> version</p></td></tr><tr><td class="src">-&gt; (<a href="Distribution-Version.html#t:Version" title="Distribution.Version">Version</a> -&gt; a)</td><td class="doc"><pre>&quot;== v&quot;</pre></td></tr><tr><td class="src">-&gt; (<a href="Distribution-Version.html#t:Version" title="Distribution.Version">Version</a> -&gt; a)</td><td class="doc"><pre>&quot;&gt; v&quot;</pre></td></tr><tr><td class="src">-&gt; (<a href="Distribution-Version.html#t:Version" title="Distribution.Version">Version</a> -&gt; a)</td><td class="doc"><pre>&quot;&lt; v&quot;</pre></td></tr><tr><td class="src">-&gt; (a -&gt; a -&gt; a)</td><td class="doc"><p><code>&quot;_ || _&quot;</code> union</p></td></tr><tr><td class="src">-&gt; (a -&gt; a -&gt; a)</td><td class="doc"><p><code>&quot;_ &amp;&amp; _&quot;</code> intersection</p></td></tr><tr><td class="src">-&gt; <a href="Distribution-Version.html#t:VersionRange" title="Distribution.Version">VersionRange</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src">-&gt; a</td><td class="doc empty">&nbsp;</td></tr></table></div><div class="doc"><p>Fold over the basic syntactic structure of a <code><a href="Distribution-Version.html#t:VersionRange" title="Distribution.Version">VersionRange</a></code>.</p><p>This provides a syntactic view of the expression defining the version range.
 The syntactic sugar <code>&quot;&gt;= v&quot;</code>, <code>&quot;&lt;= v&quot;</code> and <code>&quot;== v.*&quot;</code> is presented
 in terms of the other basic syntax.</p><p>For a semantic view use <code>asVersionIntervals</code>.</p></div></div><div class="top"><p class="src"><a id="v:foldVersionRange-39-" class="def">foldVersionRange'</a> <a href="#v:foldVersionRange-39-" class="selflink">#</a></p><div class="subs arguments"><p class="caption">Arguments</p><table><tr><td class="src">:: a</td><td class="doc"><p><code>&quot;-any&quot;</code> version</p></td></tr><tr><td class="src">-&gt; (<a href="Distribution-Version.html#t:Version" title="Distribution.Version">Version</a> -&gt; a)</td><td class="doc"><pre>&quot;== v&quot;</pre></td></tr><tr><td class="src">-&gt; (<a href="Distribution-Version.html#t:Version" title="Distribution.Version">Version</a> -&gt; a)</td><td class="doc"><pre>&quot;&gt; v&quot;</pre></td></tr><tr><td class="src">-&gt; (<a href="Distribution-Version.html#t:Version" title="Distribution.Version">Version</a> -&gt; a)</td><td class="doc"><pre>&quot;&lt; v&quot;</pre></td></tr><tr><td class="src">-&gt; (<a href="Distribution-Version.html#t:Version" title="Distribution.Version">Version</a> -&gt; a)</td><td class="doc"><pre>&quot;&gt;= v&quot;</pre></td></tr><tr><td class="src">-&gt; (<a href="Distribution-Version.html#t:Version" title="Distribution.Version">Version</a> -&gt; a)</td><td class="doc"><pre>&quot;&lt;= v&quot;</pre></td></tr><tr><td class="src">-&gt; (<a href="Distribution-Version.html#t:Version" title="Distribution.Version">Version</a> -&gt; <a href="Distribution-Version.html#t:Version" title="Distribution.Version">Version</a> -&gt; a)</td><td class="doc"><p><code>&quot;== v.*&quot;</code> wildcard. The
 function is passed the
 inclusive lower bound and the
 exclusive upper bounds of the
 range defined by the wildcard.</p></td></tr><tr><td class="src">-&gt; (<a href="Distribution-Version.html#t:Version" title="Distribution.Version">Version</a> -&gt; <a href="Distribution-Version.html#t:Version" title="Distribution.Version">Version</a> -&gt; a)</td><td class="doc"><p><code>&quot;^&gt;= v&quot;</code> major upper bound
 The function is passed the
 inclusive lower bound and the
 exclusive major upper bounds
 of the range defined by this
 operator.</p></td></tr><tr><td class="src">-&gt; (a -&gt; a -&gt; a)</td><td class="doc"><p><code>&quot;_ || _&quot;</code> union</p></td></tr><tr><td class="src">-&gt; (a -&gt; a -&gt; a)</td><td class="doc"><p><code>&quot;_ &amp;&amp; _&quot;</code> intersection</p></td></tr><tr><td class="src">-&gt; (a -&gt; a)</td><td class="doc"><p><code>&quot;(_)&quot;</code> parentheses</p></td></tr><tr><td class="src">-&gt; <a href="Distribution-Version.html#t:VersionRange" title="Distribution.Version">VersionRange</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src">-&gt; a</td><td class="doc empty">&nbsp;</td></tr></table></div><div class="doc"><div class="warning"><p>Deprecated: Use cataVersionRange &amp; normaliseVersionRange for more principled folding</p></div><p>An extended variant of <code><a href="Distribution-Version.html#v:foldVersionRange" title="Distribution.Version">foldVersionRange</a></code> that also provides a view of the
 expression in which the syntactic sugar <code>&quot;&gt;= v&quot;</code>, <code>&quot;&lt;= v&quot;</code> and <code>&quot;==
 v.*&quot;</code> is presented explicitly rather than in terms of the other basic
 syntax.</p></div></div><div class="top"><p class="src"><a id="v:normaliseVersionRange" class="def">normaliseVersionRange</a> :: <a href="Distribution-Version.html#t:VersionRange" title="Distribution.Version">VersionRange</a> -&gt; <a href="Distribution-Version.html#t:VersionRange" title="Distribution.Version">VersionRange</a> <a href="#v:normaliseVersionRange" class="selflink">#</a></p><div class="doc"><p>Normalise <code><a href="Distribution-Version.html#t:VersionRange" title="Distribution.Version">VersionRange</a></code>.</p><p>In particular collapse <code>(== v || &gt; v)</code> into <code>&gt;= v</code>, and so on.</p></div></div><div class="top"><p class="src"><a id="v:stripParensVersionRange" class="def">stripParensVersionRange</a> :: <a href="Distribution-Version.html#t:VersionRange" title="Distribution.Version">VersionRange</a> -&gt; <a href="Distribution-Version.html#t:VersionRange" title="Distribution.Version">VersionRange</a> <a href="#v:stripParensVersionRange" class="selflink">#</a></p><div class="doc"><p>Remove <code><a href="Distribution-Version.html#v:VersionRangeParens" title="Distribution.Version">VersionRangeParens</a></code> constructors.</p><p><em>Since: 2.2</em></p></div></div><div class="top"><p class="src"><a id="v:hasUpperBound" class="def">hasUpperBound</a> :: <a href="Distribution-Version.html#t:VersionRange" title="Distribution.Version">VersionRange</a> -&gt; <a href="Distribution-Compat-Prelude-Internal.html#t:Bool" title="Distribution.Compat.Prelude.Internal">Bool</a> <a href="#v:hasUpperBound" class="selflink">#</a></p><div class="doc"><p>Does the version range have an upper bound?</p><p><em>Since: 1.24.0.0</em></p></div></div><div class="top"><p class="src"><a id="v:hasLowerBound" class="def">hasLowerBound</a> :: <a href="Distribution-Version.html#t:VersionRange" title="Distribution.Version">VersionRange</a> -&gt; <a href="Distribution-Compat-Prelude-Internal.html#t:Bool" title="Distribution.Compat.Prelude.Internal">Bool</a> <a href="#v:hasLowerBound" class="selflink">#</a></p><div class="doc"><p>Does the version range have an explicit lower bound?</p><p>Note: this function only considers the user-specified lower bounds, but not
 the implicit &gt;=0 lower bound.</p><p><em>Since: 1.24.0.0</em></p></div></div><a href="#g:6" id="g:6"><h2>Cata &amp; ana</h2></a><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:VersionRangeF" class="def">VersionRangeF</a> a <a href="#t:VersionRangeF" class="selflink">#</a></p><div class="doc"><p>F-Algebra of <code><a href="Distribution-Version.html#t:VersionRange" title="Distribution.Version">VersionRange</a></code>. See <code><a href="Distribution-Version.html#v:cataVersionRange" title="Distribution.Version">cataVersionRange</a></code>.</p><p><em>Since: 2.2</em></p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:AnyVersionF" class="def">AnyVersionF</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a id="v:ThisVersionF" class="def">ThisVersionF</a> <a href="Distribution-Version.html#t:Version" title="Distribution.Version">Version</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a id="v:LaterVersionF" class="def">LaterVersionF</a> <a href="Distribution-Version.html#t:Version" title="Distribution.Version">Version</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a id="v:OrLaterVersionF" class="def">OrLaterVersionF</a> <a href="Distribution-Version.html#t:Version" title="Distribution.Version">Version</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a id="v:EarlierVersionF" class="def">EarlierVersionF</a> <a href="Distribution-Version.html#t:Version" title="Distribution.Version">Version</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a id="v:OrEarlierVersionF" class="def">OrEarlierVersionF</a> <a href="Distribution-Version.html#t:Version" title="Distribution.Version">Version</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a id="v:WildcardVersionF" class="def">WildcardVersionF</a> <a href="Distribution-Version.html#t:Version" title="Distribution.Version">Version</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a id="v:MajorBoundVersionF" class="def">MajorBoundVersionF</a> <a href="Distribution-Version.html#t:Version" title="Distribution.Version">Version</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a id="v:UnionVersionRangesF" class="def">UnionVersionRangesF</a> a a</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a id="v:IntersectVersionRangesF" class="def">IntersectVersionRangesF</a> a a</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a id="v:VersionRangeParensF" class="def">VersionRangeParensF</a> a</td><td class="doc empty">&nbsp;</td></tr></table></div><div class="subs instances"><details id="i:VersionRangeF" 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:VersionRangeF:Functor:1"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Functor" title="Distribution.Compat.Prelude.Internal">Functor</a> <a href="Distribution-Version.html#t:VersionRangeF" title="Distribution.Version">VersionRangeF</a></span> <a href="#t:VersionRangeF" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><details id="i:id:VersionRangeF:Functor:1"><summary class="hide-when-js-enabled">Instance details</summary><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:fmap">fmap</a> :: (a -&gt; b) -&gt; <a href="Distribution-Version.html#t:VersionRangeF" title="Distribution.Version">VersionRangeF</a> a -&gt; <a href="Distribution-Version.html#t:VersionRangeF" title="Distribution.Version">VersionRangeF</a> b <a href="#v:fmap" class="selflink">#</a></p><p class="src"><a href="#v:-60--36-">(&lt;$)</a> :: a -&gt; <a href="Distribution-Version.html#t:VersionRangeF" title="Distribution.Version">VersionRangeF</a> b -&gt; <a href="Distribution-Version.html#t:VersionRangeF" title="Distribution.Version">VersionRangeF</a> a <a href="#v:-60--36-" 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:VersionRangeF:Foldable:2"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Foldable" title="Distribution.Compat.Prelude.Internal">Foldable</a> <a href="Distribution-Version.html#t:VersionRangeF" title="Distribution.Version">VersionRangeF</a></span> <a href="#t:VersionRangeF" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><details id="i:id:VersionRangeF:Foldable:2"><summary class="hide-when-js-enabled">Instance details</summary><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:fold">fold</a> :: <a href="Distribution-Compat-Semigroup.html#t:Monoid" title="Distribution.Compat.Semigroup">Monoid</a> m =&gt; <a href="Distribution-Version.html#t:VersionRangeF" title="Distribution.Version">VersionRangeF</a> m -&gt; m <a href="#v:fold" class="selflink">#</a></p><p class="src"><a href="#v:foldMap">foldMap</a> :: <a href="Distribution-Compat-Semigroup.html#t:Monoid" title="Distribution.Compat.Semigroup">Monoid</a> m =&gt; (a -&gt; m) -&gt; <a href="Distribution-Version.html#t:VersionRangeF" title="Distribution.Version">VersionRangeF</a> a -&gt; m <a href="#v:foldMap" class="selflink">#</a></p><p class="src"><a href="#v:foldr">foldr</a> :: (a -&gt; b -&gt; b) -&gt; b -&gt; <a href="Distribution-Version.html#t:VersionRangeF" title="Distribution.Version">VersionRangeF</a> a -&gt; b <a href="#v:foldr" class="selflink">#</a></p><p class="src"><a href="#v:foldr-39-">foldr'</a> :: (a -&gt; b -&gt; b) -&gt; b -&gt; <a href="Distribution-Version.html#t:VersionRangeF" title="Distribution.Version">VersionRangeF</a> a -&gt; b <a href="#v:foldr-39-" class="selflink">#</a></p><p class="src"><a href="#v:foldl">foldl</a> :: (b -&gt; a -&gt; b) -&gt; b -&gt; <a href="Distribution-Version.html#t:VersionRangeF" title="Distribution.Version">VersionRangeF</a> a -&gt; b <a href="#v:foldl" class="selflink">#</a></p><p class="src"><a href="#v:foldl-39-">foldl'</a> :: (b -&gt; a -&gt; b) -&gt; b -&gt; <a href="Distribution-Version.html#t:VersionRangeF" title="Distribution.Version">VersionRangeF</a> a -&gt; b <a href="#v:foldl-39-" class="selflink">#</a></p><p class="src"><a href="#v:foldr1">foldr1</a> :: (a -&gt; a -&gt; a) -&gt; <a href="Distribution-Version.html#t:VersionRangeF" title="Distribution.Version">VersionRangeF</a> a -&gt; a <a href="#v:foldr1" class="selflink">#</a></p><p class="src"><a href="#v:foldl1">foldl1</a> :: (a -&gt; a -&gt; a) -&gt; <a href="Distribution-Version.html#t:VersionRangeF" title="Distribution.Version">VersionRangeF</a> a -&gt; a <a href="#v:foldl1" class="selflink">#</a></p><p class="src"><a href="#v:toList">toList</a> :: <a href="Distribution-Version.html#t:VersionRangeF" title="Distribution.Version">VersionRangeF</a> a -&gt; [a] <a href="#v:toList" class="selflink">#</a></p><p class="src"><a href="#v:null">null</a> :: <a href="Distribution-Version.html#t:VersionRangeF" title="Distribution.Version">VersionRangeF</a> a -&gt; <a href="Distribution-Compat-Prelude-Internal.html#t:Bool" title="Distribution.Compat.Prelude.Internal">Bool</a> <a href="#v:null" class="selflink">#</a></p><p class="src"><a href="#v:length">length</a> :: <a href="Distribution-Version.html#t:VersionRangeF" title="Distribution.Version">VersionRangeF</a> a -&gt; <a href="Distribution-Compat-Prelude-Internal.html#t:Int" title="Distribution.Compat.Prelude.Internal">Int</a> <a href="#v:length" class="selflink">#</a></p><p class="src"><a href="#v:elem">elem</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Eq" title="Distribution.Compat.Prelude.Internal">Eq</a> a =&gt; a -&gt; <a href="Distribution-Version.html#t:VersionRangeF" title="Distribution.Version">VersionRangeF</a> a -&gt; <a href="Distribution-Compat-Prelude-Internal.html#t:Bool" title="Distribution.Compat.Prelude.Internal">Bool</a> <a href="#v:elem" class="selflink">#</a></p><p class="src"><a href="#v:maximum">maximum</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Ord" title="Distribution.Compat.Prelude.Internal">Ord</a> a =&gt; <a href="Distribution-Version.html#t:VersionRangeF" title="Distribution.Version">VersionRangeF</a> a -&gt; a <a href="#v:maximum" class="selflink">#</a></p><p class="src"><a href="#v:minimum">minimum</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Ord" title="Distribution.Compat.Prelude.Internal">Ord</a> a =&gt; <a href="Distribution-Version.html#t:VersionRangeF" title="Distribution.Version">VersionRangeF</a> a -&gt; a <a href="#v:minimum" class="selflink">#</a></p><p class="src"><a href="#v:sum">sum</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Num" title="Distribution.Compat.Prelude.Internal">Num</a> a =&gt; <a href="Distribution-Version.html#t:VersionRangeF" title="Distribution.Version">VersionRangeF</a> a -&gt; a <a href="#v:sum" class="selflink">#</a></p><p class="src"><a href="#v:product">product</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Num" title="Distribution.Compat.Prelude.Internal">Num</a> a =&gt; <a href="Distribution-Version.html#t:VersionRangeF" title="Distribution.Version">VersionRangeF</a> a -&gt; a <a href="#v:product" 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:VersionRangeF:Traversable:3"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Traversable" title="Distribution.Compat.Prelude.Internal">Traversable</a> <a href="Distribution-Version.html#t:VersionRangeF" title="Distribution.Version">VersionRangeF</a></span> <a href="#t:VersionRangeF" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><details id="i:id:VersionRangeF:Traversable:3"><summary class="hide-when-js-enabled">Instance details</summary><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:traverse">traverse</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Applicative" title="Distribution.Compat.Prelude.Internal">Applicative</a> f =&gt; (a -&gt; f b) -&gt; <a href="Distribution-Version.html#t:VersionRangeF" title="Distribution.Version">VersionRangeF</a> a -&gt; f (<a href="Distribution-Version.html#t:VersionRangeF" title="Distribution.Version">VersionRangeF</a> b) <a href="#v:traverse" class="selflink">#</a></p><p class="src"><a href="#v:sequenceA">sequenceA</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Applicative" title="Distribution.Compat.Prelude.Internal">Applicative</a> f =&gt; <a href="Distribution-Version.html#t:VersionRangeF" title="Distribution.Version">VersionRangeF</a> (f a) -&gt; f (<a href="Distribution-Version.html#t:VersionRangeF" title="Distribution.Version">VersionRangeF</a> a) <a href="#v:sequenceA" class="selflink">#</a></p><p class="src"><a href="#v:mapM">mapM</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Monad" title="Distribution.Compat.Prelude.Internal">Monad</a> m =&gt; (a -&gt; m b) -&gt; <a href="Distribution-Version.html#t:VersionRangeF" title="Distribution.Version">VersionRangeF</a> a -&gt; m (<a href="Distribution-Version.html#t:VersionRangeF" title="Distribution.Version">VersionRangeF</a> b) <a href="#v:mapM" class="selflink">#</a></p><p class="src"><a href="#v:sequence">sequence</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Monad" title="Distribution.Compat.Prelude.Internal">Monad</a> m =&gt; <a href="Distribution-Version.html#t:VersionRangeF" title="Distribution.Version">VersionRangeF</a> (m a) -&gt; m (<a href="Distribution-Version.html#t:VersionRangeF" title="Distribution.Version">VersionRangeF</a> a) <a href="#v:sequence" 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:VersionRangeF:Eq:4"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Eq" title="Distribution.Compat.Prelude.Internal">Eq</a> a =&gt; <a href="Distribution-Compat-Prelude-Internal.html#t:Eq" title="Distribution.Compat.Prelude.Internal">Eq</a> (<a href="Distribution-Version.html#t:VersionRangeF" title="Distribution.Version">VersionRangeF</a> a)</span> <a href="#t:VersionRangeF" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><details id="i:id:VersionRangeF:Eq:4"><summary class="hide-when-js-enabled">Instance details</summary><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-61--61-">(==)</a> :: <a href="Distribution-Version.html#t:VersionRangeF" title="Distribution.Version">VersionRangeF</a> a -&gt; <a href="Distribution-Version.html#t:VersionRangeF" title="Distribution.Version">VersionRangeF</a> 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-Version.html#t:VersionRangeF" title="Distribution.Version">VersionRangeF</a> a -&gt; <a href="Distribution-Version.html#t:VersionRangeF" title="Distribution.Version">VersionRangeF</a> 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:VersionRangeF:Data:5"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Data" title="Distribution.Compat.Prelude.Internal">Data</a> a =&gt; <a href="Distribution-Compat-Prelude-Internal.html#t:Data" title="Distribution.Compat.Prelude.Internal">Data</a> (<a href="Distribution-Version.html#t:VersionRangeF" title="Distribution.Version">VersionRangeF</a> a)</span> <a href="#t:VersionRangeF" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><details id="i:id:VersionRangeF:Data:5"><summary class="hide-when-js-enabled">Instance details</summary><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:gfoldl">gfoldl</a> :: (<span class="keyword">forall</span> d b. <a href="Distribution-Compat-Prelude-Internal.html#t:Data" title="Distribution.Compat.Prelude.Internal">Data</a> d =&gt; c (d -&gt; b) -&gt; d -&gt; c b) -&gt; (<span class="keyword">forall</span> g. g -&gt; c g) -&gt; <a href="Distribution-Version.html#t:VersionRangeF" title="Distribution.Version">VersionRangeF</a> a -&gt; c (<a href="Distribution-Version.html#t:VersionRangeF" title="Distribution.Version">VersionRangeF</a> a) <a href="#v:gfoldl" class="selflink">#</a></p><p class="src"><a href="#v:gunfold">gunfold</a> :: (<span class="keyword">forall</span> b r. <a href="Distribution-Compat-Prelude-Internal.html#t:Data" title="Distribution.Compat.Prelude.Internal">Data</a> b =&gt; c (b -&gt; r) -&gt; c r) -&gt; (<span class="keyword">forall</span> r. r -&gt; c r) -&gt; <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/Data-Data.html#t:Constr" title="Data.Data">Constr</a> -&gt; c (<a href="Distribution-Version.html#t:VersionRangeF" title="Distribution.Version">VersionRangeF</a> a) <a href="#v:gunfold" class="selflink">#</a></p><p class="src"><a href="#v:toConstr">toConstr</a> :: <a href="Distribution-Version.html#t:VersionRangeF" title="Distribution.Version">VersionRangeF</a> a -&gt; <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/Data-Data.html#t:Constr" title="Data.Data">Constr</a> <a href="#v:toConstr" class="selflink">#</a></p><p class="src"><a href="#v:dataTypeOf">dataTypeOf</a> :: <a href="Distribution-Version.html#t:VersionRangeF" title="Distribution.Version">VersionRangeF</a> a -&gt; <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/Data-Data.html#t:DataType" title="Data.Data">DataType</a> <a href="#v:dataTypeOf" class="selflink">#</a></p><p class="src"><a href="#v:dataCast1">dataCast1</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Typeable" title="Distribution.Compat.Prelude.Internal">Typeable</a> t =&gt; (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data" title="Distribution.Compat.Prelude.Internal">Data</a> d =&gt; c (t d)) -&gt; <a href="Distribution-Compat-Prelude-Internal.html#t:Maybe" title="Distribution.Compat.Prelude.Internal">Maybe</a> (c (<a href="Distribution-Version.html#t:VersionRangeF" title="Distribution.Version">VersionRangeF</a> a)) <a href="#v:dataCast1" class="selflink">#</a></p><p class="src"><a href="#v:dataCast2">dataCast2</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Typeable" title="Distribution.Compat.Prelude.Internal">Typeable</a> t =&gt; (<span class="keyword">forall</span> d e. (<a href="Distribution-Compat-Prelude-Internal.html#t:Data" title="Distribution.Compat.Prelude.Internal">Data</a> d, <a href="Distribution-Compat-Prelude-Internal.html#t:Data" title="Distribution.Compat.Prelude.Internal">Data</a> e) =&gt; c (t d e)) -&gt; <a href="Distribution-Compat-Prelude-Internal.html#t:Maybe" title="Distribution.Compat.Prelude.Internal">Maybe</a> (c (<a href="Distribution-Version.html#t:VersionRangeF" title="Distribution.Version">VersionRangeF</a> a)) <a href="#v:dataCast2" class="selflink">#</a></p><p class="src"><a href="#v:gmapT">gmapT</a> :: (<span class="keyword">forall</span> b. <a href="Distribution-Compat-Prelude-Internal.html#t:Data" title="Distribution.Compat.Prelude.Internal">Data</a> b =&gt; b -&gt; b) -&gt; <a href="Distribution-Version.html#t:VersionRangeF" title="Distribution.Version">VersionRangeF</a> a -&gt; <a href="Distribution-Version.html#t:VersionRangeF" title="Distribution.Version">VersionRangeF</a> a <a href="#v:gmapT" class="selflink">#</a></p><p class="src"><a href="#v:gmapQl">gmapQl</a> :: (r -&gt; r' -&gt; r) -&gt; r -&gt; (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data" title="Distribution.Compat.Prelude.Internal">Data</a> d =&gt; d -&gt; r') -&gt; <a href="Distribution-Version.html#t:VersionRangeF" title="Distribution.Version">VersionRangeF</a> a -&gt; r <a href="#v:gmapQl" class="selflink">#</a></p><p class="src"><a href="#v:gmapQr">gmapQr</a> :: (r' -&gt; r -&gt; r) -&gt; r -&gt; (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data" title="Distribution.Compat.Prelude.Internal">Data</a> d =&gt; d -&gt; r') -&gt; <a href="Distribution-Version.html#t:VersionRangeF" title="Distribution.Version">VersionRangeF</a> a -&gt; r <a href="#v:gmapQr" class="selflink">#</a></p><p class="src"><a href="#v:gmapQ">gmapQ</a> :: (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data" title="Distribution.Compat.Prelude.Internal">Data</a> d =&gt; d -&gt; u) -&gt; <a href="Distribution-Version.html#t:VersionRangeF" title="Distribution.Version">VersionRangeF</a> a -&gt; [u] <a href="#v:gmapQ" class="selflink">#</a></p><p class="src"><a href="#v:gmapQi">gmapQi</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Int" title="Distribution.Compat.Prelude.Internal">Int</a> -&gt; (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data" title="Distribution.Compat.Prelude.Internal">Data</a> d =&gt; d -&gt; u) -&gt; <a href="Distribution-Version.html#t:VersionRangeF" title="Distribution.Version">VersionRangeF</a> a -&gt; u <a href="#v:gmapQi" class="selflink">#</a></p><p class="src"><a href="#v:gmapM">gmapM</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Monad" title="Distribution.Compat.Prelude.Internal">Monad</a> m =&gt; (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data" title="Distribution.Compat.Prelude.Internal">Data</a> d =&gt; d -&gt; m d) -&gt; <a href="Distribution-Version.html#t:VersionRangeF" title="Distribution.Version">VersionRangeF</a> a -&gt; m (<a href="Distribution-Version.html#t:VersionRangeF" title="Distribution.Version">VersionRangeF</a> a) <a href="#v:gmapM" class="selflink">#</a></p><p class="src"><a href="#v:gmapMp">gmapMp</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:MonadPlus" title="Distribution.Compat.Prelude.Internal">MonadPlus</a> m =&gt; (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data" title="Distribution.Compat.Prelude.Internal">Data</a> d =&gt; d -&gt; m d) -&gt; <a href="Distribution-Version.html#t:VersionRangeF" title="Distribution.Version">VersionRangeF</a> a -&gt; m (<a href="Distribution-Version.html#t:VersionRangeF" title="Distribution.Version">VersionRangeF</a> a) <a href="#v:gmapMp" class="selflink">#</a></p><p class="src"><a href="#v:gmapMo">gmapMo</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:MonadPlus" title="Distribution.Compat.Prelude.Internal">MonadPlus</a> m =&gt; (<span class="keyword">forall</span> d. <a href="Distribution-Compat-Prelude-Internal.html#t:Data" title="Distribution.Compat.Prelude.Internal">Data</a> d =&gt; d -&gt; m d) -&gt; <a href="Distribution-Version.html#t:VersionRangeF" title="Distribution.Version">VersionRangeF</a> a -&gt; m (<a href="Distribution-Version.html#t:VersionRangeF" title="Distribution.Version">VersionRangeF</a> a) <a href="#v:gmapMo" 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:VersionRangeF:Read:6"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Read" title="Distribution.Compat.Prelude.Internal">Read</a> a =&gt; <a href="Distribution-Compat-Prelude-Internal.html#t:Read" title="Distribution.Compat.Prelude.Internal">Read</a> (<a href="Distribution-Version.html#t:VersionRangeF" title="Distribution.Version">VersionRangeF</a> a)</span> <a href="#t:VersionRangeF" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><details id="i:id:VersionRangeF:Read:6"><summary class="hide-when-js-enabled">Instance details</summary><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:readsPrec">readsPrec</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Int" title="Distribution.Compat.Prelude.Internal">Int</a> -&gt; <a href="Distribution-Compat-ReadP.html#t:ReadS" title="Distribution.Compat.ReadP">ReadS</a> (<a href="Distribution-Version.html#t:VersionRangeF" title="Distribution.Version">VersionRangeF</a> a) <a href="#v:readsPrec" class="selflink">#</a></p><p class="src"><a href="#v:readList">readList</a> :: <a href="Distribution-Compat-ReadP.html#t:ReadS" title="Distribution.Compat.ReadP">ReadS</a> [<a href="Distribution-Version.html#t:VersionRangeF" title="Distribution.Version">VersionRangeF</a> a] <a href="#v:readList" class="selflink">#</a></p><p class="src"><a href="#v:readPrec">readPrec</a> :: <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec" title="Text.ParserCombinators.ReadPrec">ReadPrec</a> (<a href="Distribution-Version.html#t:VersionRangeF" title="Distribution.Version">VersionRangeF</a> a) <a href="#v:readPrec" class="selflink">#</a></p><p class="src"><a href="#v:readListPrec">readListPrec</a> :: <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec" title="Text.ParserCombinators.ReadPrec">ReadPrec</a> [<a href="Distribution-Version.html#t:VersionRangeF" title="Distribution.Version">VersionRangeF</a> a] <a href="#v:readListPrec" 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:VersionRangeF:Show:7"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Show" title="Distribution.Compat.Prelude.Internal">Show</a> a =&gt; <a href="Distribution-Compat-Prelude-Internal.html#t:Show" title="Distribution.Compat.Prelude.Internal">Show</a> (<a href="Distribution-Version.html#t:VersionRangeF" title="Distribution.Version">VersionRangeF</a> a)</span> <a href="#t:VersionRangeF" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><details id="i:id:VersionRangeF:Show:7"><summary class="hide-when-js-enabled">Instance details</summary><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-Version.html#t:VersionRangeF" title="Distribution.Version">VersionRangeF</a> 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-Version.html#t:VersionRangeF" title="Distribution.Version">VersionRangeF</a> 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-Version.html#t:VersionRangeF" title="Distribution.Version">VersionRangeF</a> 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><tr><td class="src clearfix"><span class="inst-left"><span class="instance details-toggle-control details-toggle" data-details-id="i:id:VersionRangeF:Generic:8"></span> <a href="Distribution-Compat-Prelude-Internal.html#t:Generic" title="Distribution.Compat.Prelude.Internal">Generic</a> (<a href="Distribution-Version.html#t:VersionRangeF" title="Distribution.Version">VersionRangeF</a> a)</span> <a href="#t:VersionRangeF" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><details id="i:id:VersionRangeF:Generic:8"><summary class="hide-when-js-enabled">Instance details</summary><div class="subs associated-types"><p class="caption">Associated Types</p><p class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#t:Rep" title="GHC.Generics">Rep</a> (<a href="Distribution-Version.html#t:VersionRangeF" title="Distribution.Version">VersionRangeF</a> a) :: <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/Data-Kind.html#t:-42-" title="Data.Kind">*</a> -&gt; <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/Data-Kind.html#t:-42-" title="Data.Kind">*</a> <a href="#t:Rep" class="selflink">#</a></p></div> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:from">from</a> :: <a href="Distribution-Version.html#t:VersionRangeF" title="Distribution.Version">VersionRangeF</a> a -&gt; <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#t:Rep" title="GHC.Generics">Rep</a> (<a href="Distribution-Version.html#t:VersionRangeF" title="Distribution.Version">VersionRangeF</a> a) x <a href="#v:from" class="selflink">#</a></p><p class="src"><a href="#v:to">to</a> :: <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#t:Rep" title="GHC.Generics">Rep</a> (<a href="Distribution-Version.html#t:VersionRangeF" title="Distribution.Version">VersionRangeF</a> a) x -&gt; <a href="Distribution-Version.html#t:VersionRangeF" title="Distribution.Version">VersionRangeF</a> a <a href="#v:to" 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:VersionRangeF:Rep:9"></span> <span class="keyword">type</span> <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#t:Rep" title="GHC.Generics">Rep</a> (<a href="Distribution-Version.html#t:VersionRangeF" title="Distribution.Version">VersionRangeF</a> a)</span> <a href="#t:VersionRangeF" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><details id="i:id:VersionRangeF:Rep:9"><summary class="hide-when-js-enabled">Instance details</summary><div class="src"><span class="keyword">type</span> <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#t:Rep" title="GHC.Generics">Rep</a> (<a href="Distribution-Version.html#t:VersionRangeF" title="Distribution.Version">VersionRangeF</a> a) = <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#t:D1" title="GHC.Generics">D1</a> (<a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#v:MetaData" title="GHC.Generics">MetaData</a> &quot;VersionRangeF&quot; &quot;Distribution.Types.VersionRange&quot; &quot;Cabal-2.2.0.1-JS0vobxWxH7sbYKd0omMO&quot; <a href="Distribution-Compat-Prelude-Internal.html#v:False" title="Distribution.Compat.Prelude.Internal">False</a>) (((<a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#t:C1" title="GHC.Generics">C1</a> (<a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#v:MetaCons" title="GHC.Generics">MetaCons</a> &quot;AnyVersionF&quot; <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#v:PrefixI" title="GHC.Generics">PrefixI</a> <a href="Distribution-Compat-Prelude-Internal.html#v:False" title="Distribution.Compat.Prelude.Internal">False</a>) (<a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#t:U1" title="GHC.Generics">U1</a> :: <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/Data-Kind.html#t:-42-" title="Data.Kind">*</a> -&gt; <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/Data-Kind.html#t:-42-" title="Data.Kind">*</a>) <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#t::-43-:" title="GHC.Generics">:+:</a> <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#t:C1" title="GHC.Generics">C1</a> (<a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#v:MetaCons" title="GHC.Generics">MetaCons</a> &quot;ThisVersionF&quot; <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#v:PrefixI" title="GHC.Generics">PrefixI</a> <a href="Distribution-Compat-Prelude-Internal.html#v:False" title="Distribution.Compat.Prelude.Internal">False</a>) (<a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#t:S1" title="GHC.Generics">S1</a> (<a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#v:MetaSel" title="GHC.Generics">MetaSel</a> (<a href="Distribution-Compat-Prelude-Internal.html#v:Nothing" title="Distribution.Compat.Prelude.Internal">Nothing</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Maybe" title="Distribution.Compat.Prelude.Internal">Maybe</a> <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-TypeLits.html#t:Symbol" title="GHC.TypeLits">Symbol</a>) <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#v:NoSourceUnpackedness" title="GHC.Generics">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#v:NoSourceStrictness" title="GHC.Generics">NoSourceStrictness</a> <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#v:DecidedLazy" title="GHC.Generics">DecidedLazy</a>) (<a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#t:Rec0" title="GHC.Generics">Rec0</a> <a href="Distribution-Version.html#t:Version" title="Distribution.Version">Version</a>))) <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#t::-43-:" title="GHC.Generics">:+:</a> (<a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#t:C1" title="GHC.Generics">C1</a> (<a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#v:MetaCons" title="GHC.Generics">MetaCons</a> &quot;LaterVersionF&quot; <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#v:PrefixI" title="GHC.Generics">PrefixI</a> <a href="Distribution-Compat-Prelude-Internal.html#v:False" title="Distribution.Compat.Prelude.Internal">False</a>) (<a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#t:S1" title="GHC.Generics">S1</a> (<a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#v:MetaSel" title="GHC.Generics">MetaSel</a> (<a href="Distribution-Compat-Prelude-Internal.html#v:Nothing" title="Distribution.Compat.Prelude.Internal">Nothing</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Maybe" title="Distribution.Compat.Prelude.Internal">Maybe</a> <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-TypeLits.html#t:Symbol" title="GHC.TypeLits">Symbol</a>) <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#v:NoSourceUnpackedness" title="GHC.Generics">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#v:NoSourceStrictness" title="GHC.Generics">NoSourceStrictness</a> <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#v:DecidedLazy" title="GHC.Generics">DecidedLazy</a>) (<a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#t:Rec0" title="GHC.Generics">Rec0</a> <a href="Distribution-Version.html#t:Version" title="Distribution.Version">Version</a>)) <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#t::-43-:" title="GHC.Generics">:+:</a> (<a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#t:C1" title="GHC.Generics">C1</a> (<a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#v:MetaCons" title="GHC.Generics">MetaCons</a> &quot;OrLaterVersionF&quot; <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#v:PrefixI" title="GHC.Generics">PrefixI</a> <a href="Distribution-Compat-Prelude-Internal.html#v:False" title="Distribution.Compat.Prelude.Internal">False</a>) (<a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#t:S1" title="GHC.Generics">S1</a> (<a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#v:MetaSel" title="GHC.Generics">MetaSel</a> (<a href="Distribution-Compat-Prelude-Internal.html#v:Nothing" title="Distribution.Compat.Prelude.Internal">Nothing</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Maybe" title="Distribution.Compat.Prelude.Internal">Maybe</a> <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-TypeLits.html#t:Symbol" title="GHC.TypeLits">Symbol</a>) <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#v:NoSourceUnpackedness" title="GHC.Generics">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#v:NoSourceStrictness" title="GHC.Generics">NoSourceStrictness</a> <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#v:DecidedLazy" title="GHC.Generics">DecidedLazy</a>) (<a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#t:Rec0" title="GHC.Generics">Rec0</a> <a href="Distribution-Version.html#t:Version" title="Distribution.Version">Version</a>)) <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#t::-43-:" title="GHC.Generics">:+:</a> <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#t:C1" title="GHC.Generics">C1</a> (<a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#v:MetaCons" title="GHC.Generics">MetaCons</a> &quot;EarlierVersionF&quot; <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#v:PrefixI" title="GHC.Generics">PrefixI</a> <a href="Distribution-Compat-Prelude-Internal.html#v:False" title="Distribution.Compat.Prelude.Internal">False</a>) (<a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#t:S1" title="GHC.Generics">S1</a> (<a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#v:MetaSel" title="GHC.Generics">MetaSel</a> (<a href="Distribution-Compat-Prelude-Internal.html#v:Nothing" title="Distribution.Compat.Prelude.Internal">Nothing</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Maybe" title="Distribution.Compat.Prelude.Internal">Maybe</a> <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-TypeLits.html#t:Symbol" title="GHC.TypeLits">Symbol</a>) <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#v:NoSourceUnpackedness" title="GHC.Generics">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#v:NoSourceStrictness" title="GHC.Generics">NoSourceStrictness</a> <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#v:DecidedLazy" title="GHC.Generics">DecidedLazy</a>) (<a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#t:Rec0" title="GHC.Generics">Rec0</a> <a href="Distribution-Version.html#t:Version" title="Distribution.Version">Version</a>))))) <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#t::-43-:" title="GHC.Generics">:+:</a> ((<a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#t:C1" title="GHC.Generics">C1</a> (<a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#v:MetaCons" title="GHC.Generics">MetaCons</a> &quot;OrEarlierVersionF&quot; <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#v:PrefixI" title="GHC.Generics">PrefixI</a> <a href="Distribution-Compat-Prelude-Internal.html#v:False" title="Distribution.Compat.Prelude.Internal">False</a>) (<a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#t:S1" title="GHC.Generics">S1</a> (<a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#v:MetaSel" title="GHC.Generics">MetaSel</a> (<a href="Distribution-Compat-Prelude-Internal.html#v:Nothing" title="Distribution.Compat.Prelude.Internal">Nothing</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Maybe" title="Distribution.Compat.Prelude.Internal">Maybe</a> <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-TypeLits.html#t:Symbol" title="GHC.TypeLits">Symbol</a>) <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#v:NoSourceUnpackedness" title="GHC.Generics">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#v:NoSourceStrictness" title="GHC.Generics">NoSourceStrictness</a> <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#v:DecidedLazy" title="GHC.Generics">DecidedLazy</a>) (<a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#t:Rec0" title="GHC.Generics">Rec0</a> <a href="Distribution-Version.html#t:Version" title="Distribution.Version">Version</a>)) <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#t::-43-:" title="GHC.Generics">:+:</a> (<a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#t:C1" title="GHC.Generics">C1</a> (<a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#v:MetaCons" title="GHC.Generics">MetaCons</a> &quot;WildcardVersionF&quot; <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#v:PrefixI" title="GHC.Generics">PrefixI</a> <a href="Distribution-Compat-Prelude-Internal.html#v:False" title="Distribution.Compat.Prelude.Internal">False</a>) (<a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#t:S1" title="GHC.Generics">S1</a> (<a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#v:MetaSel" title="GHC.Generics">MetaSel</a> (<a href="Distribution-Compat-Prelude-Internal.html#v:Nothing" title="Distribution.Compat.Prelude.Internal">Nothing</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Maybe" title="Distribution.Compat.Prelude.Internal">Maybe</a> <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-TypeLits.html#t:Symbol" title="GHC.TypeLits">Symbol</a>) <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#v:NoSourceUnpackedness" title="GHC.Generics">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#v:NoSourceStrictness" title="GHC.Generics">NoSourceStrictness</a> <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#v:DecidedLazy" title="GHC.Generics">DecidedLazy</a>) (<a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#t:Rec0" title="GHC.Generics">Rec0</a> <a href="Distribution-Version.html#t:Version" title="Distribution.Version">Version</a>)) <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#t::-43-:" title="GHC.Generics">:+:</a> <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#t:C1" title="GHC.Generics">C1</a> (<a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#v:MetaCons" title="GHC.Generics">MetaCons</a> &quot;MajorBoundVersionF&quot; <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#v:PrefixI" title="GHC.Generics">PrefixI</a> <a href="Distribution-Compat-Prelude-Internal.html#v:False" title="Distribution.Compat.Prelude.Internal">False</a>) (<a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#t:S1" title="GHC.Generics">S1</a> (<a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#v:MetaSel" title="GHC.Generics">MetaSel</a> (<a href="Distribution-Compat-Prelude-Internal.html#v:Nothing" title="Distribution.Compat.Prelude.Internal">Nothing</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Maybe" title="Distribution.Compat.Prelude.Internal">Maybe</a> <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-TypeLits.html#t:Symbol" title="GHC.TypeLits">Symbol</a>) <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#v:NoSourceUnpackedness" title="GHC.Generics">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#v:NoSourceStrictness" title="GHC.Generics">NoSourceStrictness</a> <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#v:DecidedLazy" title="GHC.Generics">DecidedLazy</a>) (<a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#t:Rec0" title="GHC.Generics">Rec0</a> <a href="Distribution-Version.html#t:Version" title="Distribution.Version">Version</a>)))) <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#t::-43-:" title="GHC.Generics">:+:</a> (<a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#t:C1" title="GHC.Generics">C1</a> (<a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#v:MetaCons" title="GHC.Generics">MetaCons</a> &quot;UnionVersionRangesF&quot; <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#v:PrefixI" title="GHC.Generics">PrefixI</a> <a href="Distribution-Compat-Prelude-Internal.html#v:False" title="Distribution.Compat.Prelude.Internal">False</a>) (<a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#t:S1" title="GHC.Generics">S1</a> (<a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#v:MetaSel" title="GHC.Generics">MetaSel</a> (<a href="Distribution-Compat-Prelude-Internal.html#v:Nothing" title="Distribution.Compat.Prelude.Internal">Nothing</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Maybe" title="Distribution.Compat.Prelude.Internal">Maybe</a> <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-TypeLits.html#t:Symbol" title="GHC.TypeLits">Symbol</a>) <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#v:NoSourceUnpackedness" title="GHC.Generics">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#v:NoSourceStrictness" title="GHC.Generics">NoSourceStrictness</a> <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#v:DecidedLazy" title="GHC.Generics">DecidedLazy</a>) (<a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#t:Rec0" title="GHC.Generics">Rec0</a> a) <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#t::-42-:" title="GHC.Generics">:*:</a> <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#t:S1" title="GHC.Generics">S1</a> (<a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#v:MetaSel" title="GHC.Generics">MetaSel</a> (<a href="Distribution-Compat-Prelude-Internal.html#v:Nothing" title="Distribution.Compat.Prelude.Internal">Nothing</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Maybe" title="Distribution.Compat.Prelude.Internal">Maybe</a> <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-TypeLits.html#t:Symbol" title="GHC.TypeLits">Symbol</a>) <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#v:NoSourceUnpackedness" title="GHC.Generics">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#v:NoSourceStrictness" title="GHC.Generics">NoSourceStrictness</a> <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#v:DecidedLazy" title="GHC.Generics">DecidedLazy</a>) (<a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#t:Rec0" title="GHC.Generics">Rec0</a> a)) <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#t::-43-:" title="GHC.Generics">:+:</a> (<a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#t:C1" title="GHC.Generics">C1</a> (<a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#v:MetaCons" title="GHC.Generics">MetaCons</a> &quot;IntersectVersionRangesF&quot; <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#v:PrefixI" title="GHC.Generics">PrefixI</a> <a href="Distribution-Compat-Prelude-Internal.html#v:False" title="Distribution.Compat.Prelude.Internal">False</a>) (<a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#t:S1" title="GHC.Generics">S1</a> (<a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#v:MetaSel" title="GHC.Generics">MetaSel</a> (<a href="Distribution-Compat-Prelude-Internal.html#v:Nothing" title="Distribution.Compat.Prelude.Internal">Nothing</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Maybe" title="Distribution.Compat.Prelude.Internal">Maybe</a> <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-TypeLits.html#t:Symbol" title="GHC.TypeLits">Symbol</a>) <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#v:NoSourceUnpackedness" title="GHC.Generics">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#v:NoSourceStrictness" title="GHC.Generics">NoSourceStrictness</a> <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#v:DecidedLazy" title="GHC.Generics">DecidedLazy</a>) (<a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#t:Rec0" title="GHC.Generics">Rec0</a> a) <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#t::-42-:" title="GHC.Generics">:*:</a> <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#t:S1" title="GHC.Generics">S1</a> (<a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#v:MetaSel" title="GHC.Generics">MetaSel</a> (<a href="Distribution-Compat-Prelude-Internal.html#v:Nothing" title="Distribution.Compat.Prelude.Internal">Nothing</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Maybe" title="Distribution.Compat.Prelude.Internal">Maybe</a> <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-TypeLits.html#t:Symbol" title="GHC.TypeLits">Symbol</a>) <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#v:NoSourceUnpackedness" title="GHC.Generics">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#v:NoSourceStrictness" title="GHC.Generics">NoSourceStrictness</a> <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#v:DecidedLazy" title="GHC.Generics">DecidedLazy</a>) (<a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#t:Rec0" title="GHC.Generics">Rec0</a> a)) <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#t::-43-:" title="GHC.Generics">:+:</a> <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#t:C1" title="GHC.Generics">C1</a> (<a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#v:MetaCons" title="GHC.Generics">MetaCons</a> &quot;VersionRangeParensF&quot; <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#v:PrefixI" title="GHC.Generics">PrefixI</a> <a href="Distribution-Compat-Prelude-Internal.html#v:False" title="Distribution.Compat.Prelude.Internal">False</a>) (<a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#t:S1" title="GHC.Generics">S1</a> (<a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#v:MetaSel" title="GHC.Generics">MetaSel</a> (<a href="Distribution-Compat-Prelude-Internal.html#v:Nothing" title="Distribution.Compat.Prelude.Internal">Nothing</a> :: <a href="Distribution-Compat-Prelude-Internal.html#t:Maybe" title="Distribution.Compat.Prelude.Internal">Maybe</a> <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-TypeLits.html#t:Symbol" title="GHC.TypeLits">Symbol</a>) <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#v:NoSourceUnpackedness" title="GHC.Generics">NoSourceUnpackedness</a> <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#v:NoSourceStrictness" title="GHC.Generics">NoSourceStrictness</a> <a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#v:DecidedLazy" title="GHC.Generics">DecidedLazy</a>) (<a href="file:///opt/ghc/8.4.1/share/doc/ghc-8.4.1/html/libraries/base-4.11.0.0/GHC-Generics.html#t:Rec0" title="GHC.Generics">Rec0</a> a))))))</div></details></td></tr></table></details></div></div><div class="top"><p class="src"><a id="v:cataVersionRange" class="def">cataVersionRange</a> :: (<a href="Distribution-Version.html#t:VersionRangeF" title="Distribution.Version">VersionRangeF</a> a -&gt; a) -&gt; <a href="Distribution-Version.html#t:VersionRange" title="Distribution.Version">VersionRange</a> -&gt; a <a href="#v:cataVersionRange" class="selflink">#</a></p><div class="doc"><p>Fold <code><a href="Distribution-Version.html#t:VersionRange" title="Distribution.Version">VersionRange</a></code>.</p><p><em>Since: 2.2</em></p></div></div><div class="top"><p class="src"><a id="v:anaVersionRange" class="def">anaVersionRange</a> :: (a -&gt; <a href="Distribution-Version.html#t:VersionRangeF" title="Distribution.Version">VersionRangeF</a> a) -&gt; a -&gt; <a href="Distribution-Version.html#t:VersionRange" title="Distribution.Version">VersionRange</a> <a href="#v:anaVersionRange" class="selflink">#</a></p><div class="doc"><p>Unfold <code><a href="Distribution-Version.html#t:VersionRange" title="Distribution.Version">VersionRange</a></code>.</p><p><em>Since: 2.2</em></p></div></div><div class="top"><p class="src"><a id="v:hyloVersionRange" class="def">hyloVersionRange</a> :: (<a href="Distribution-Version.html#t:VersionRangeF" title="Distribution.Version">VersionRangeF</a> <a href="Distribution-Version.html#t:VersionRange" title="Distribution.Version">VersionRange</a> -&gt; <a href="Distribution-Version.html#t:VersionRange" title="Distribution.Version">VersionRange</a>) -&gt; (<a href="Distribution-Version.html#t:VersionRange" title="Distribution.Version">VersionRange</a> -&gt; <a href="Distribution-Version.html#t:VersionRangeF" title="Distribution.Version">VersionRangeF</a> <a href="Distribution-Version.html#t:VersionRange" title="Distribution.Version">VersionRange</a>) -&gt; <a href="Distribution-Version.html#t:VersionRange" title="Distribution.Version">VersionRange</a> -&gt; <a href="Distribution-Version.html#t:VersionRange" title="Distribution.Version">VersionRange</a> <a href="#v:hyloVersionRange" class="selflink">#</a></p><div class="doc"><p>Refold <code><a href="Distribution-Version.html#t:VersionRange" title="Distribution.Version">VersionRange</a></code></p><p><em>Since: 2.2</em></p></div></div><div class="top"><p class="src"><a id="v:projectVersionRange" class="def">projectVersionRange</a> :: <a href="Distribution-Version.html#t:VersionRange" title="Distribution.Version">VersionRange</a> -&gt; <a href="Distribution-Version.html#t:VersionRangeF" title="Distribution.Version">VersionRangeF</a> <a href="Distribution-Version.html#t:VersionRange" title="Distribution.Version">VersionRange</a> <a href="#v:projectVersionRange" class="selflink">#</a></p><div class="doc"><p><em>Since: 2.2</em></p></div></div><div class="top"><p class="src"><a id="v:embedVersionRange" class="def">embedVersionRange</a> :: <a href="Distribution-Version.html#t:VersionRangeF" title="Distribution.Version">VersionRangeF</a> <a href="Distribution-Version.html#t:VersionRange" title="Distribution.Version">VersionRange</a> -&gt; <a href="Distribution-Version.html#t:VersionRange" title="Distribution.Version">VersionRange</a> <a href="#v:embedVersionRange" class="selflink">#</a></p><div class="doc"><p><em>Since: 2.2</em></p></div></div><a href="#g:7" id="g:7"><h2>Utilities</h2></a><div class="top"><p class="src"><a id="v:wildcardUpperBound" class="def">wildcardUpperBound</a> :: <a href="Distribution-Version.html#t:Version" title="Distribution.Version">Version</a> -&gt; <a href="Distribution-Version.html#t:Version" title="Distribution.Version">Version</a> <a href="#v:wildcardUpperBound" class="selflink">#</a></p><div class="doc"><p><em>Since: 2.2</em></p></div></div><div class="top"><p class="src"><a id="v:majorUpperBound" class="def">majorUpperBound</a> :: <a href="Distribution-Version.html#t:Version" title="Distribution.Version">Version</a> -&gt; <a href="Distribution-Version.html#t:Version" title="Distribution.Version">Version</a> <a href="#v:majorUpperBound" class="selflink">#</a></p><div class="doc"><p>Compute next greater major version to be used as upper bound</p><p>Example: <code>0.4.1</code> produces the version <code>0.5</code> which then can be used
 to construct a range <code>&gt;= 0.4.1 &amp;&amp; &lt; 0.5</code></p><p><em>Since: 2.2</em></p></div></div><a href="#g:8" id="g:8"><h2>Modification</h2></a><div class="top"><p class="src"><a id="v:removeUpperBound" class="def">removeUpperBound</a> :: <a href="Distribution-Version.html#t:VersionRange" title="Distribution.Version">VersionRange</a> -&gt; <a href="Distribution-Version.html#t:VersionRange" title="Distribution.Version">VersionRange</a> <a href="#v:removeUpperBound" class="selflink">#</a></p><div class="doc"><p>Given a version range, remove the highest upper bound. Example: <code>(&gt;= 1 &amp;&amp; &lt;
 3) || (&gt;= 4 &amp;&amp; &lt; 5)</code> is converted to <code>(&gt;= 1 &amp;&amp; <a href="3)">|| (</a>= 4)</code>.</p></div></div><div class="top"><p class="src"><a id="v:removeLowerBound" class="def">removeLowerBound</a> :: <a href="Distribution-Version.html#t:VersionRange" title="Distribution.Version">VersionRange</a> -&gt; <a href="Distribution-Version.html#t:VersionRange" title="Distribution.Version">VersionRange</a> <a href="#v:removeLowerBound" class="selflink">#</a></p><div class="doc"><p>Given a version range, remove the lowest lower bound.
 Example: <code>(&gt;= 1 &amp;&amp; <a href="3)">|| (</a>= 4 &amp;&amp; &lt; 5)</code> is converted to
 <code>(&gt;= 0 &amp;&amp; <a href="3)">|| (</a>= 4 &amp;&amp; &lt; 5)</code>.</p></div></div><a href="#g:9" id="g:9"><h1>Version intervals view</h1></a><div class="top"><p class="src"><a id="v:asVersionIntervals" class="def">asVersionIntervals</a> :: <a href="Distribution-Version.html#t:VersionRange" title="Distribution.Version">VersionRange</a> -&gt; [<a href="Distribution-Version.html#t:VersionInterval" title="Distribution.Version">VersionInterval</a>] <a href="#v:asVersionIntervals" class="selflink">#</a></p><div class="doc"><p>View a <code><a href="Distribution-Version.html#t:VersionRange" title="Distribution.Version">VersionRange</a></code> as a union of intervals.</p><p>This provides a canonical view of the semantics of a <code><a href="Distribution-Version.html#t:VersionRange" title="Distribution.Version">VersionRange</a></code> as
 opposed to the syntax of the expression used to define it. For the syntactic
 view use <code><a href="Distribution-Version.html#v:foldVersionRange" title="Distribution.Version">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-Version.html#t:LowerBound" title="Distribution.Version">LowerBound</a>, <a href="Distribution-Version.html#t:UpperBound" title="Distribution.Version">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-Version.html#t:Version" title="Distribution.Version">Version</a> !<a href="Distribution-Version.html#t:Bound" title="Distribution.Version">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-Version.html#t:LowerBound" title="Distribution.Version">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><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-61--61-">(==)</a> :: <a href="Distribution-Version.html#t:LowerBound" title="Distribution.Version">LowerBound</a> -&gt; <a href="Distribution-Version.html#t:LowerBound" title="Distribution.Version">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-Version.html#t:LowerBound" title="Distribution.Version">LowerBound</a> -&gt; <a href="Distribution-Version.html#t:LowerBound" title="Distribution.Version">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-Version.html#t:LowerBound" title="Distribution.Version">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><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:compare">compare</a> :: <a href="Distribution-Version.html#t:LowerBound" title="Distribution.Version">LowerBound</a> -&gt; <a href="Distribution-Version.html#t:LowerBound" title="Distribution.Version">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-Version.html#t:LowerBound" title="Distribution.Version">LowerBound</a> -&gt; <a href="Distribution-Version.html#t:LowerBound" title="Distribution.Version">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-Version.html#t:LowerBound" title="Distribution.Version">LowerBound</a> -&gt; <a href="Distribution-Version.html#t:LowerBound" title="Distribution.Version">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-Version.html#t:LowerBound" title="Distribution.Version">LowerBound</a> -&gt; <a href="Distribution-Version.html#t:LowerBound" title="Distribution.Version">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-Version.html#t:LowerBound" title="Distribution.Version">LowerBound</a> -&gt; <a href="Distribution-Version.html#t:LowerBound" title="Distribution.Version">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-Version.html#t:LowerBound" title="Distribution.Version">LowerBound</a> -&gt; <a href="Distribution-Version.html#t:LowerBound" title="Distribution.Version">LowerBound</a> -&gt; <a href="Distribution-Version.html#t:LowerBound" title="Distribution.Version">LowerBound</a> <a href="#v:max" class="selflink">#</a></p><p class="src"><a href="#v:min">min</a> :: <a href="Distribution-Version.html#t:LowerBound" title="Distribution.Version">LowerBound</a> -&gt; <a href="Distribution-Version.html#t:LowerBound" title="Distribution.Version">LowerBound</a> -&gt; <a href="Distribution-Version.html#t:LowerBound" title="Distribution.Version">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-Version.html#t:LowerBound" title="Distribution.Version">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><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-Version.html#t:LowerBound" title="Distribution.Version">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-Version.html#t:LowerBound" title="Distribution.Version">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-Version.html#t:LowerBound" title="Distribution.Version">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-Version.html#t:Version" title="Distribution.Version">Version</a> !<a href="Distribution-Version.html#t:Bound" title="Distribution.Version">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-Version.html#t:UpperBound" title="Distribution.Version">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><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-61--61-">(==)</a> :: <a href="Distribution-Version.html#t:UpperBound" title="Distribution.Version">UpperBound</a> -&gt; <a href="Distribution-Version.html#t:UpperBound" title="Distribution.Version">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-Version.html#t:UpperBound" title="Distribution.Version">UpperBound</a> -&gt; <a href="Distribution-Version.html#t:UpperBound" title="Distribution.Version">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-Version.html#t:UpperBound" title="Distribution.Version">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><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:compare">compare</a> :: <a href="Distribution-Version.html#t:UpperBound" title="Distribution.Version">UpperBound</a> -&gt; <a href="Distribution-Version.html#t:UpperBound" title="Distribution.Version">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-Version.html#t:UpperBound" title="Distribution.Version">UpperBound</a> -&gt; <a href="Distribution-Version.html#t:UpperBound" title="Distribution.Version">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-Version.html#t:UpperBound" title="Distribution.Version">UpperBound</a> -&gt; <a href="Distribution-Version.html#t:UpperBound" title="Distribution.Version">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-Version.html#t:UpperBound" title="Distribution.Version">UpperBound</a> -&gt; <a href="Distribution-Version.html#t:UpperBound" title="Distribution.Version">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-Version.html#t:UpperBound" title="Distribution.Version">UpperBound</a> -&gt; <a href="Distribution-Version.html#t:UpperBound" title="Distribution.Version">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-Version.html#t:UpperBound" title="Distribution.Version">UpperBound</a> -&gt; <a href="Distribution-Version.html#t:UpperBound" title="Distribution.Version">UpperBound</a> -&gt; <a href="Distribution-Version.html#t:UpperBound" title="Distribution.Version">UpperBound</a> <a href="#v:max" class="selflink">#</a></p><p class="src"><a href="#v:min">min</a> :: <a href="Distribution-Version.html#t:UpperBound" title="Distribution.Version">UpperBound</a> -&gt; <a href="Distribution-Version.html#t:UpperBound" title="Distribution.Version">UpperBound</a> -&gt; <a href="Distribution-Version.html#t:UpperBound" title="Distribution.Version">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-Version.html#t:UpperBound" title="Distribution.Version">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><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-Version.html#t:UpperBound" title="Distribution.Version">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-Version.html#t:UpperBound" title="Distribution.Version">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-Version.html#t:UpperBound" title="Distribution.Version">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-Version.html#t:Bound" title="Distribution.Version">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><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-61--61-">(==)</a> :: <a href="Distribution-Version.html#t:Bound" title="Distribution.Version">Bound</a> -&gt; <a href="Distribution-Version.html#t:Bound" title="Distribution.Version">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-Version.html#t:Bound" title="Distribution.Version">Bound</a> -&gt; <a href="Distribution-Version.html#t:Bound" title="Distribution.Version">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-Version.html#t:Bound" title="Distribution.Version">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><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-Version.html#t:Bound" title="Distribution.Version">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-Version.html#t:Bound" title="Distribution.Version">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-Version.html#t:Bound" title="Distribution.Version">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><a href="#g:10" id="g:10"><h2><code><a href="Distribution-Version.html#t:VersionIntervals" title="Distribution.Version">VersionIntervals</a></code> abstract type</h2></a><div class="doc"><p>The <code><a href="Distribution-Version.html#t:VersionIntervals" title="Distribution.Version">VersionIntervals</a></code> type and the accompanying functions are exposed
 primarily for completeness and testing purposes. In practice
 <code><a href="Distribution-Version.html#v:asVersionIntervals" title="Distribution.Version">asVersionIntervals</a></code> is the main function to use to
 view a <code><a href="Distribution-Version.html#t:VersionRange" title="Distribution.Version">VersionRange</a></code> as a bunch of <code><a href="Distribution-Version.html#t:VersionInterval" title="Distribution.Version">VersionInterval</a></code>s.</p></div><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-Version.html#t:VersionRange" title="Distribution.Version">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-Version.html#t:VersionRange" title="Distribution.Version">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-Version.html#t:VersionIntervals" title="Distribution.Version">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><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-61--61-">(==)</a> :: <a href="Distribution-Version.html#t:VersionIntervals" title="Distribution.Version">VersionIntervals</a> -&gt; <a href="Distribution-Version.html#t:VersionIntervals" title="Distribution.Version">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-Version.html#t:VersionIntervals" title="Distribution.Version">VersionIntervals</a> -&gt; <a href="Distribution-Version.html#t:VersionIntervals" title="Distribution.Version">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-Version.html#t:VersionIntervals" title="Distribution.Version">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><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-Version.html#t:VersionIntervals" title="Distribution.Version">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-Version.html#t:VersionIntervals" title="Distribution.Version">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-Version.html#t:VersionIntervals" title="Distribution.Version">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-Version.html#t:VersionRange" title="Distribution.Version">VersionRange</a> -&gt; <a href="Distribution-Version.html#t:VersionIntervals" title="Distribution.Version">VersionIntervals</a> <a href="#v:toVersionIntervals" class="selflink">#</a></p><div class="doc"><p>Convert a <code><a href="Distribution-Version.html#t:VersionRange" title="Distribution.Version">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-Version.html#t:VersionIntervals" title="Distribution.Version">VersionIntervals</a> -&gt; <a href="Distribution-Version.html#t:VersionRange" title="Distribution.Version">VersionRange</a> <a href="#v:fromVersionIntervals" class="selflink">#</a></p><div class="doc"><p>Convert a <code><a href="Distribution-Version.html#t:VersionIntervals" title="Distribution.Version">VersionIntervals</a></code> value back into a <code><a href="Distribution-Version.html#t:VersionRange" title="Distribution.Version">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-Version.html#t:Version" title="Distribution.Version">Version</a> -&gt; <a href="Distribution-Version.html#t:VersionIntervals" title="Distribution.Version">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-Version.html#t:VersionIntervals" title="Distribution.Version">VersionIntervals</a> -&gt; [<a href="Distribution-Version.html#t:VersionInterval" title="Distribution.Version">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-Version.html#t:VersionInterval" title="Distribution.Version">VersionInterval</a>] -&gt; <a href="Distribution-Version.html#t:VersionIntervals" title="Distribution.Version">VersionIntervals</a> <a href="#v:mkVersionIntervals" class="selflink">#</a></p><div class="doc"><p>Directly construct a <code><a href="Distribution-Version.html#t:VersionIntervals" title="Distribution.Version">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-Version.html#t:VersionIntervals" title="Distribution.Version">VersionIntervals</a> -&gt; <a href="Distribution-Version.html#t:VersionIntervals" title="Distribution.Version">VersionIntervals</a> -&gt; <a href="Distribution-Version.html#t:VersionIntervals" title="Distribution.Version">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-Version.html#t:VersionIntervals" title="Distribution.Version">VersionIntervals</a> -&gt; <a href="Distribution-Version.html#t:VersionIntervals" title="Distribution.Version">VersionIntervals</a> -&gt; <a href="Distribution-Version.html#t:VersionIntervals" title="Distribution.Version">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-Version.html#t:VersionIntervals" title="Distribution.Version">VersionIntervals</a> -&gt; <a href="Distribution-Version.html#t:VersionIntervals" title="Distribution.Version">VersionIntervals</a> <a href="#v:invertVersionIntervals" class="selflink">#</a></p></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.19.0</p></div></body></html>