module Distribution.Solver.Modular.Version
( Ver
, VR
, anyVR
, checkVR
, eqVR
, showVer
, showVR
, simplifyVR
, (.&&.)
, (.||.)
) where
import Distribution.Solver.Compat.Prelude
import Prelude ()
import qualified Distribution.Version as CV
import Distribution.Pretty (prettyShow)
type Ver = CV.Version
showVer :: Ver -> String
showVer :: Ver -> String
showVer = Ver -> String
forall a. Pretty a => a -> String
prettyShow
type VR = CV.VersionRange
showVR :: VR -> String
showVR :: VR -> String
showVR = VR -> String
forall a. Pretty a => a -> String
prettyShow
anyVR :: VR
anyVR :: VR
anyVR = VR
CV.anyVersion
eqVR :: Ver -> VR
eqVR :: Ver -> VR
eqVR = Ver -> VR
CV.thisVersion
(.&&.) :: VR -> VR -> VR
VR
v1 .&&. :: VR -> VR -> VR
.&&. VR
v2 = VR -> VR
simplifyVR (VR -> VR) -> VR -> VR
forall a b. (a -> b) -> a -> b
$ VR -> VR -> VR
CV.intersectVersionRanges VR
v1 VR
v2
(.||.) :: VR -> VR -> VR
VR
v1 .||. :: VR -> VR -> VR
.||. VR
v2 = VR -> VR
simplifyVR (VR -> VR) -> VR -> VR
forall a b. (a -> b) -> a -> b
$ VR -> VR -> VR
CV.unionVersionRanges VR
v1 VR
v2
simplifyVR :: VR -> VR
simplifyVR :: VR -> VR
simplifyVR = VR -> VR
CV.simplifyVersionRange
checkVR :: VR -> Ver -> Bool
checkVR :: VR -> Ver -> Bool
checkVR = (Ver -> VR -> Bool) -> VR -> Ver -> Bool
forall a b c. (a -> b -> c) -> b -> a -> c
flip Ver -> VR -> Bool
CV.withinRange