stack-1.9.3.1: The Haskell Tool Stack

Safe HaskellNone
LanguageHaskell2010

Stack.Types.Version

Description

Versions for packages.

Synopsis

Documentation

data Version Source #

A package version.

Instances
Eq Version Source # 
Instance details

Defined in Stack.Types.Version

Methods

(==) :: Version -> Version -> Bool #

(/=) :: Version -> Version -> Bool #

Data Version Source # 
Instance details

Defined in Stack.Types.Version

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Version -> c Version #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Version #

toConstr :: Version -> Constr #

dataTypeOf :: Version -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Version) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Version) #

gmapT :: (forall b. Data b => b -> b) -> Version -> Version #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Version -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Version -> r #

gmapQ :: (forall d. Data d => d -> u) -> Version -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Version -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Version -> m Version #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Version -> m Version #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Version -> m Version #

Ord Version Source # 
Instance details

Defined in Stack.Types.Version

Show Version Source # 
Instance details

Defined in Stack.Types.Version

Methods

showsPrec :: Int -> Version -> ShowS

show :: Version -> String #

showList :: [Version] -> ShowS

Generic Version Source # 
Instance details

Defined in Stack.Types.Version

Associated Types

type Rep Version :: Type -> Type

Methods

from :: Version -> Rep Version x

to :: Rep Version x -> Version

Lift Version Source # 
Instance details

Defined in Stack.Types.Version

Methods

lift :: Version -> Q Exp

Store Version Source # 
Instance details

Defined in Stack.Types.Version

FromJSON Version Source # 
Instance details

Defined in Stack.Types.Version

Methods

parseJSON :: Value -> Parser Version #

parseJSONList :: Value -> Parser [Version] #

FromJSONKey Version Source # 
Instance details

Defined in Stack.Types.Version

ToJSON Version Source # 
Instance details

Defined in Stack.Types.Version

Hashable Version Source # 
Instance details

Defined in Stack.Types.Version

Methods

hashWithSalt :: Int -> Version -> Int

hash :: Version -> Int

NFData Version Source # 
Instance details

Defined in Stack.Types.Version

Methods

rnf :: Version -> () #

Display Version Source # 
Instance details

Defined in Stack.Types.Version

Display Version Source # 
Instance details

Defined in Stack.PrettyPrint

Associated Types

type Ann Version :: Type Source #

type Rep Version Source # 
Instance details

Defined in Stack.Types.Version

type Rep Version = D1 (MetaData "Version" "Stack.Types.Version" "stack-1.9.3.1-LZWsBVN2dMkBun14CXy8yE" True) (C1 (MetaCons "Version" PrefixI True) (S1 (MetaSel (Just "unVersion") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Vector Word))))
type Ann Version Source # 
Instance details

Defined in Stack.PrettyPrint

data VersionRange #

Instances
Eq VersionRange 
Instance details

Defined in Distribution.Types.VersionRange

Data VersionRange 
Instance details

Defined in Distribution.Types.VersionRange

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> VersionRange -> c VersionRange #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c VersionRange #

toConstr :: VersionRange -> Constr #

dataTypeOf :: VersionRange -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c VersionRange) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c VersionRange) #

gmapT :: (forall b. Data b => b -> b) -> VersionRange -> VersionRange #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> VersionRange -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> VersionRange -> r #

gmapQ :: (forall d. Data d => d -> u) -> VersionRange -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> VersionRange -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> VersionRange -> m VersionRange #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> VersionRange -> m VersionRange #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> VersionRange -> m VersionRange #

Ord VersionRange Source # 
Instance details

Defined in Stack.Build.ConstructPlan

Read VersionRange 
Instance details

Defined in Distribution.Types.VersionRange

Methods

readsPrec :: Int -> ReadS VersionRange

readList :: ReadS [VersionRange]

readPrec :: ReadPrec VersionRange

readListPrec :: ReadPrec [VersionRange]

Show VersionRange 
Instance details

Defined in Distribution.Types.VersionRange

Methods

showsPrec :: Int -> VersionRange -> ShowS

show :: VersionRange -> String #

showList :: [VersionRange] -> ShowS

Generic VersionRange 
Instance details

Defined in Distribution.Types.VersionRange

Associated Types

type Rep VersionRange :: Type -> Type

Binary VersionRange 
Instance details

Defined in Distribution.Types.VersionRange

Methods

put :: VersionRange -> Put

get :: Get VersionRange

putList :: [VersionRange] -> Put

NFData VersionRange 
Instance details

Defined in Distribution.Types.VersionRange

Methods

rnf :: VersionRange -> () #

Parsec VersionRange 
Instance details

Defined in Distribution.Types.VersionRange

Methods

parsec :: CabalParsing m => m VersionRange

Pretty VersionRange 
Instance details

Defined in Distribution.Types.VersionRange

Methods

pretty :: VersionRange -> Doc

Text VersionRange 
Instance details

Defined in Distribution.Types.VersionRange

Methods

disp :: VersionRange -> Doc

parse :: ReadP r VersionRange

type Rep VersionRange 
Instance details

Defined in Distribution.Types.VersionRange

type Rep VersionRange = D1 (MetaData "VersionRange" "Distribution.Types.VersionRange" "Cabal-2.4.0.1" False) (((C1 (MetaCons "AnyVersion" PrefixI False) (U1 :: Type -> Type) :+: C1 (MetaCons "ThisVersion" PrefixI False) (S1 (MetaSel (Nothing :: Maybe Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Version))) :+: (C1 (MetaCons "LaterVersion" PrefixI False) (S1 (MetaSel (Nothing :: Maybe Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Version)) :+: (C1 (MetaCons "OrLaterVersion" PrefixI False) (S1 (MetaSel (Nothing :: Maybe Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Version)) :+: C1 (MetaCons "EarlierVersion" PrefixI False) (S1 (MetaSel (Nothing :: Maybe Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Version))))) :+: ((C1 (MetaCons "OrEarlierVersion" PrefixI False) (S1 (MetaSel (Nothing :: Maybe Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Version)) :+: (C1 (MetaCons "WildcardVersion" PrefixI False) (S1 (MetaSel (Nothing :: Maybe Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Version)) :+: C1 (MetaCons "MajorBoundVersion" PrefixI False) (S1 (MetaSel (Nothing :: Maybe Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Version)))) :+: (C1 (MetaCons "UnionVersionRanges" PrefixI False) (S1 (MetaSel (Nothing :: Maybe Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 VersionRange) :*: S1 (MetaSel (Nothing :: Maybe Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 VersionRange)) :+: (C1 (MetaCons "IntersectVersionRanges" PrefixI False) (S1 (MetaSel (Nothing :: Maybe Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 VersionRange) :*: S1 (MetaSel (Nothing :: Maybe Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 VersionRange)) :+: C1 (MetaCons "VersionRangeParens" PrefixI False) (S1 (MetaSel (Nothing :: Maybe Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 VersionRange))))))

versionParser :: Parser Version Source #

Attoparsec parser for a package version.

parseVersion :: MonadThrow m => Text -> m Version Source #

Convenient way to parse a package version from a Text.

parseVersionFromString :: MonadThrow m => String -> m Version Source #

Migration function.

versionString :: Version -> String Source #

Get a string representation of a package version.

versionText :: Version -> Text Source #

Get a string representation of a package version.

toCabalVersion :: Version -> Version Source #

Convert to a Cabal version.

fromCabalVersion :: Version -> Version Source #

Convert from a Cabal version.

mkVersion :: String -> Q Exp Source #

Make a package version.

versionRangeText :: VersionRange -> Text Source #

Display a version range

withinRange :: Version -> VersionRange -> Bool Source #

Check if a version is within a version range.

intersectVersionRanges :: VersionRange -> VersionRange -> VersionRange Source #

A modified intersection which also simplifies, for better display.

toMajorVersion :: Version -> Version Source #

Returns the first two components, defaulting to 0 if not present

latestApplicableVersion :: VersionRange -> Set Version -> Maybe Version Source #

Given a version range and a set of versions, find the latest version from the set that is within the range.

nextMajorVersion :: Version -> Version Source #

Get the next major version number for the given version

data UpgradeTo Source #

A Package upgrade; Latest or a specific version.

Constructors

Specific Version 
Latest 
Instances
Show UpgradeTo Source # 
Instance details

Defined in Stack.Types.Version

Methods

showsPrec :: Int -> UpgradeTo -> ShowS

show :: UpgradeTo -> String #

showList :: [UpgradeTo] -> ShowS

minorVersion :: Version -> Version Source #

Get minor version (excludes any patchlevel)

stackVersion :: Version Source #

Current Stack version

stackMinorVersion :: Version Source #

Current Stack minor version (excludes patchlevel)