/hall/Cabal/buildPvpDependency

Copy path to clipboard

Source

{-| Turns a list of dependency versions into a Cabal-style dependency range.
-}
let P =
https://raw.githubusercontent.com/dhall-lang/dhall-lang/v20.1.0/Prelude/package.dhall sha256:26b0ef498663d269e4dc6a82b0ee289ec565d683ef4c00d0ebdd25333a5a3c98

let Pvp = ../PVP/package.dhall

in λ(dep : { name : Text, versions : List Pvp.Version }) →
dep.name
++ ( if P.List.null Pvp.Version dep.versions
then ""
else " ^>= {"
++ ( List/fold
Pvp.Version
dep.versions
{ comma : Bool, res : Text }
( λ(v : Pvp.Version) →
λ(acc : { comma : Bool, res : Text }) →
{ comma = True
, res =
Pvp.show v
++ (if acc.comma then ", " else "")
++ acc.res
}
)
{ comma = False, res = "" }
).res
++ "}"
)