Skip to content

Commit b6d0516

Browse files
authored
Merge pull request haskell#7911 from haskell/haddock-VersionRange
Haddockumentation fixes in Distribution.Types.VersionRange.Internal
2 parents ddb58fb + 09365c7 commit b6d0516

File tree

1 file changed

+28
-18
lines changed

1 file changed

+28
-18
lines changed

Cabal/src/Distribution/Types/VersionRange/Internal.hs

Lines changed: 28 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99

1010
-- | The only purpose of this module is to prevent the export of
1111
-- 'VersionRange' constructors from
12-
-- 'Distribution.Types.VersionRange'. To avoid creating orphan
12+
-- "Distribution.Types.VersionRange". To avoid creating orphan
1313
-- instances, a lot of related code had to be moved here too.
1414

1515
module Distribution.Types.VersionRange.Internal
@@ -70,7 +70,7 @@ instance NFData VersionRange where rnf = genericRnf
7070
anyVersion :: VersionRange
7171
anyVersion = OrLaterVersion (mkVersion [0])
7272

73-
-- | The empty version range, that is a version range containing no versions.
73+
-- | The empty version range @-none@, that is a version range containing no versions.
7474
--
7575
-- This can be constructed using any unsatisfiable version range expression,
7676
-- for example @< 0@.
@@ -80,57 +80,57 @@ anyVersion = OrLaterVersion (mkVersion [0])
8080
noVersion :: VersionRange
8181
noVersion = EarlierVersion (mkVersion [0])
8282

83-
-- | The version range @== v@
83+
-- | The version range @== v@.
8484
--
8585
-- > withinRange v' (thisVersion v) = v' == v
8686
--
8787
thisVersion :: Version -> VersionRange
8888
thisVersion = ThisVersion
8989

90-
-- | The version range @< v || > v@
90+
-- | The version range @/= v@.
9191
--
9292
-- > withinRange v' (notThisVersion v) = v' /= v
9393
--
9494
notThisVersion :: Version -> VersionRange
9595
notThisVersion v = UnionVersionRanges (EarlierVersion v) (LaterVersion v)
9696

97-
-- | The version range @> v@
97+
-- | The version range @> v@.
9898
--
9999
-- > withinRange v' (laterVersion v) = v' > v
100100
--
101101
laterVersion :: Version -> VersionRange
102102
laterVersion = LaterVersion
103103

104-
-- | The version range @>= v@
104+
-- | The version range @>= v@.
105105
--
106106
-- > withinRange v' (orLaterVersion v) = v' >= v
107107
--
108108
orLaterVersion :: Version -> VersionRange
109109
orLaterVersion = OrLaterVersion
110110

111-
-- | The version range @< v@
111+
-- | The version range @< v@.
112112
--
113113
-- > withinRange v' (earlierVersion v) = v' < v
114114
--
115115
earlierVersion :: Version -> VersionRange
116116
earlierVersion = EarlierVersion
117117

118-
-- | The version range @<= v@
118+
-- | The version range @<= v@.
119119
--
120120
-- > withinRange v' (orEarlierVersion v) = v' <= v
121121
--
122122
orEarlierVersion :: Version -> VersionRange
123123
orEarlierVersion = OrEarlierVersion
124124

125-
-- | The version range @vr1 || vr2@
125+
-- | The version range @vr1 || vr2@.
126126
--
127127
-- > withinRange v' (unionVersionRanges vr1 vr2)
128128
-- > = withinRange v' vr1 || withinRange v' vr2
129129
--
130130
unionVersionRanges :: VersionRange -> VersionRange -> VersionRange
131131
unionVersionRanges = UnionVersionRanges
132132

133-
-- | The version range @vr1 && vr2@
133+
-- | The version range @vr1 && vr2@.
134134
--
135135
-- > withinRange v' (intersectVersionRanges vr1 vr2)
136136
-- > = withinRange v' vr1 && withinRange v' vr2
@@ -141,9 +141,9 @@ intersectVersionRanges = IntersectVersionRanges
141141
-- | The version range @== v.*@.
142142
--
143143
-- For example, for version @1.2@, the version range @== 1.2.*@ is the same as
144-
-- @>= 1.2 && < 1.3@
144+
-- @>= 1.2 && < 1.3@.
145145
--
146-
-- > withinRange v' (laterVersion v) = v' >= v && v' < upper v
146+
-- > withinRange v' (withinVersion v) = v' >= v && v' < upper v
147147
-- > where
148148
-- > upper (Version lower t) = Version (init lower ++ [last lower + 1]) t
149149
--
@@ -179,7 +179,9 @@ data VersionRangeF a
179179
deriving ( Data, Eq, Generic, Read, Show, Typeable
180180
, Functor, Foldable, Traversable )
181181

182-
-- | @since 2.2
182+
-- | Generic destructor for 'VersionRange'.
183+
--
184+
-- @since 2.2
183185
projectVersionRange :: VersionRange -> VersionRangeF VersionRange
184186
projectVersionRange (ThisVersion v) = ThisVersionF v
185187
projectVersionRange (LaterVersion v) = LaterVersionF v
@@ -196,7 +198,9 @@ projectVersionRange (IntersectVersionRanges a b) = IntersectVersionRangesF a b
196198
cataVersionRange :: (VersionRangeF a -> a) -> VersionRange -> a
197199
cataVersionRange f = c where c = f . fmap c . projectVersionRange
198200

199-
-- | @since 2.2
201+
-- | Generic constructor for 'VersionRange'.
202+
--
203+
-- @since 2.2
200204
embedVersionRange :: VersionRangeF VersionRange -> VersionRange
201205
embedVersionRange (ThisVersionF v) = ThisVersion v
202206
embedVersionRange (LaterVersionF v) = LaterVersion v
@@ -213,7 +217,7 @@ embedVersionRange (IntersectVersionRangesF a b) = IntersectVersionRanges a b
213217
anaVersionRange :: (a -> VersionRangeF a) -> a -> VersionRange
214218
anaVersionRange g = a where a = embedVersionRange . fmap a . g
215219

216-
-- | Refold 'VersionRange'
220+
-- | Refold 'VersionRange'.
217221
--
218222
-- @since 2.2
219223
hyloVersionRange :: (VersionRangeF VersionRange -> VersionRange)
@@ -318,7 +322,7 @@ prettyVersionRange16 vr = prettyVersionRange vr
318322
instance Parsec VersionRange where
319323
parsec = askCabalSpecVersion >>= versionRangeParser versionDigitParser
320324

321-
-- | 'VersionRange' parser parametrised by version digit parser
325+
-- | 'VersionRange' parser parametrised by version digit parser.
322326
--
323327
-- - 'versionDigitParser' is used for all 'VersionRange'.
324328
-- - 'P.integral' is used for backward-compat @pkgconfig-depends@
@@ -506,7 +510,7 @@ versionRangeParser digitParser csv = expr
506510
-- Wildcard range utilities
507511
--
508512

509-
-- | Compute next greater major version to be used as upper bound
513+
-- | Compute next greater major version to be used as upper bound.
510514
--
511515
-- Example: @0.4.1@ produces the version @0.5@ which then can be used
512516
-- to construct a range @>= 0.4.1 && < 0.5@
@@ -518,7 +522,13 @@ majorUpperBound = alterVersion $ \numbers -> case numbers of
518522
[m1] -> [m1,1] -- e.g. version '1'
519523
(m1:m2:_) -> [m1,m2+1]
520524

521-
-- | @since 2.2
525+
-- | Increment the last version number.
526+
--
527+
-- Example: For @1.2@ this returns @1.3@
528+
-- so that it can be used as upper bound when resolving @== 1.2.*@.
529+
-- For @0.4.1@ it returns @0.4.2@.
530+
--
531+
-- @since 2.2
522532
wildcardUpperBound :: Version -> Version
523533
wildcardUpperBound = alterVersion $
524534
\lowerBound -> case unsnoc lowerBound of

0 commit comments

Comments
 (0)