Cabal-3.2.1.0: A framework for packaging Haskell software
Safe Haskell None
Language Haskell2010

Distribution.CabalSpecVersion

Synopsis

Documentation

data CabalSpecVersion Source #

Different Cabal-the-spec versions.

We branch based on this at least in the parser.

Instances

Instances details
Bounded CabalSpecVersion Source #
Instance details

Defined in Distribution.CabalSpecVersion

Enum CabalSpecVersion Source #
Instance details

Defined in Distribution.CabalSpecVersion

Eq CabalSpecVersion Source #
Instance details

Defined in Distribution.CabalSpecVersion

Data CabalSpecVersion Source #
Instance details

Defined in Distribution.CabalSpecVersion

Methods

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

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

toConstr :: CabalSpecVersion -> Constr Source #

dataTypeOf :: CabalSpecVersion -> DataType Source #

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

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

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

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

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

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

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

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

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

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

Ord CabalSpecVersion Source #
Instance details

Defined in Distribution.CabalSpecVersion

Read CabalSpecVersion Source #
Instance details

Defined in Distribution.CabalSpecVersion

Show CabalSpecVersion Source #
Instance details

Defined in Distribution.CabalSpecVersion

Generic CabalSpecVersion Source #
Instance details

Defined in Distribution.CabalSpecVersion

type Rep CabalSpecVersion Source #
Instance details

Defined in Distribution.CabalSpecVersion

type Rep CabalSpecVersion = D1 (' MetaData "CabalSpecVersion" "Distribution.CabalSpecVersion" "Cabal-3.2.1.0-3w1fQQbNnuQ5xlFGwVXcPy" ' False ) ((( C1 (' MetaCons "CabalSpecV1_0" ' PrefixI ' False ) ( U1 :: Type -> Type ) :+: ( C1 (' MetaCons "CabalSpecV1_2" ' PrefixI ' False ) ( U1 :: Type -> Type ) :+: C1 (' MetaCons "CabalSpecV1_4" ' PrefixI ' False ) ( U1 :: Type -> Type ))) :+: (( C1 (' MetaCons "CabalSpecV1_6" ' PrefixI ' False ) ( U1 :: Type -> Type ) :+: C1 (' MetaCons "CabalSpecV1_8" ' PrefixI ' False ) ( U1 :: Type -> Type )) :+: ( C1 (' MetaCons "CabalSpecV1_10" ' PrefixI ' False ) ( U1 :: Type -> Type ) :+: C1 (' MetaCons "CabalSpecV1_12" ' PrefixI ' False ) ( U1 :: Type -> Type )))) :+: ((( C1 (' MetaCons "CabalSpecV1_18" ' PrefixI ' False ) ( U1 :: Type -> Type ) :+: C1 (' MetaCons "CabalSpecV1_20" ' PrefixI ' False ) ( U1 :: Type -> Type )) :+: ( C1 (' MetaCons "CabalSpecV1_22" ' PrefixI ' False ) ( U1 :: Type -> Type ) :+: C1 (' MetaCons "CabalSpecV1_24" ' PrefixI ' False ) ( U1 :: Type -> Type ))) :+: (( C1 (' MetaCons "CabalSpecV2_0" ' PrefixI ' False ) ( U1 :: Type -> Type ) :+: C1 (' MetaCons "CabalSpecV2_2" ' PrefixI ' False ) ( U1 :: Type -> Type )) :+: ( C1 (' MetaCons "CabalSpecV2_4" ' PrefixI ' False ) ( U1 :: Type -> Type ) :+: C1 (' MetaCons "CabalSpecV3_0" ' PrefixI ' False ) ( U1 :: Type -> Type )))))

showCabalSpecVersion :: CabalSpecVersion -> String Source #

Show cabal spec version, but not the way in the .cabal files

Since: 3.0.0.0

cabalSpecMinimumLibraryVersion :: CabalSpecVersion -> [ Int ] Source #

What is the minimum Cabal library version which knows how handle this spec version.

Note: this is a point where we could decouple cabal-spec and Cabal versions, if we ever want that.

>>> cabalSpecMinimumLibraryVersion CabalSpecV3_0
[2,5]
>>> cabalSpecMinimumLibraryVersion CabalSpecV2_4
[2,3]