dhall-to-cabal-1.2.0.0: dhall/utils/majorVersions.dhall
let Version =
../types/Version.dhall
in let VersionRange =
../types/VersionRange.dhall
in let Versions =
{ unionVersionRanges =
../VersionRange/unionVersionRanges.dhall
, majorBoundVersion =
../VersionRange/majorBoundVersion.dhall
, noVersion =
../VersionRange/noVersion.dhall
}
in let majorVersions
: Text
→ List Version
→ { package : Text, bounds : VersionRange }
= λ(package : Text)
→ λ(versions : List Version )
→ { package =
package
, bounds =
Optional/fold
VersionRange
( List/fold
Version
versions
(Optional VersionRange )
( λ(v : Version )
→ λ(r : Optional VersionRange )
→ Optional/fold
VersionRange
r
(Optional VersionRange )
( λ(r : VersionRange )
→ [ Versions.unionVersionRanges
( Versions.majorBoundVersion v )
r
] : Optional VersionRange
)
( [ Versions.majorBoundVersion v
] : Optional VersionRange
)
)
([] : Optional VersionRange )
)
VersionRange
(λ(a : VersionRange ) → a)
Versions.noVersion
}
in majorVersions