A complementary representation of a VersionRange. Instead of a boolean version predicate it uses an increasing sequence of non-overlapping, non-empty intervals.
The key point is that this representation gives a canonical representation for the semantics of VersionRanges. 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.
Instances2Eq, Show
Eq VersionIntervalsDefined in Cabal-syntax-3.12.1.0 · Distribution.Types.VersionIntervalShow VersionIntervalsDefined in Cabal-syntax-3.12.1.0 · Distribution.Types.VersionInterval