Safe Haskell | None |
---|---|
Language | Haskell98 |
Distribution.PackageDescription.TH
Description
Utility functions for reading cabal file fields through template haskell.
Synopsis
- packageVariable :: Pretty a => (PackageDescription -> a) -> Q Exp
- packageVariableFrom :: Pretty a => FilePath -> (PackageDescription -> a) -> Q Exp
- packageString :: String -> DocString
- data PackageDescription = PackageDescription {
- specVersion :: CabalSpecVersion
- package :: PackageIdentifier
- licenseRaw :: Either License License
- licenseFiles :: [SymbolicPath PackageDir LicenseFile]
- copyright :: !ShortText
- maintainer :: !ShortText
- author :: !ShortText
- stability :: !ShortText
- testedWith :: [(CompilerFlavor, VersionRange)]
- homepage :: !ShortText
- pkgUrl :: !ShortText
- bugReports :: !ShortText
- sourceRepos :: [SourceRepo]
- synopsis :: !ShortText
- description :: !ShortText
- category :: !ShortText
- customFieldsPD :: [(String, String)]
- buildTypeRaw :: Maybe BuildType
- setupBuildInfo :: Maybe SetupBuildInfo
- library :: Maybe Library
- subLibraries :: [Library]
- executables :: [Executable]
- foreignLibs :: [ForeignLib]
- testSuites :: [TestSuite]
- benchmarks :: [Benchmark]
- dataFiles :: [FilePath]
- dataDir :: FilePath
- extraSrcFiles :: [FilePath]
- extraTmpFiles :: [FilePath]
- extraDocFiles :: [FilePath]
- data PackageIdentifier = PackageIdentifier {
- pkgName :: PackageName
- pkgVersion :: Version
- data Version
- alterVersion :: ([Int] -> [Int]) -> Version -> Version
- mkVersion :: [Int] -> Version
- mkVersion' :: Version -> Version
- nullVersion :: Version
- version0 :: Version
- versionNumbers :: Version -> [Int]
- data Bound
- data LowerBound = LowerBound !Version !Bound
- data UpperBound
- data VersionInterval = VersionInterval !LowerBound !UpperBound
- data VersionIntervals
- asVersionIntervals :: VersionRange -> [VersionInterval]
- fromVersionIntervals :: VersionIntervals -> VersionRange
- toVersionIntervals :: VersionRange -> VersionIntervals
- unVersionIntervals :: VersionIntervals -> [VersionInterval]
- foldVersionRange :: a -> (Version -> a) -> (Version -> a) -> (Version -> a) -> (a -> a -> a) -> (a -> a -> a) -> VersionRange -> a
- hasLowerBound :: VersionRange -> Bool
- hasUpperBound :: VersionRange -> Bool
- isAnyVersion :: VersionRange -> Bool
- normaliseVersionRange :: VersionRange -> VersionRange
- stripParensVersionRange :: VersionRange -> VersionRange
- withinRange :: Version -> VersionRange -> Bool
- data VersionRangeF a
- data VersionRange
- anaVersionRange :: (a -> VersionRangeF a) -> a -> VersionRange
- anyVersion :: VersionRange
- cataVersionRange :: (VersionRangeF a -> a) -> VersionRange -> a
- earlierVersion :: Version -> VersionRange
- embedVersionRange :: VersionRangeF VersionRange -> VersionRange
- hyloVersionRange :: (VersionRangeF VersionRange -> VersionRange) -> (VersionRange -> VersionRangeF VersionRange) -> VersionRange -> VersionRange
- intersectVersionRanges :: VersionRange -> VersionRange -> VersionRange
- laterVersion :: Version -> VersionRange
- majorBoundVersion :: Version -> VersionRange
- majorUpperBound :: Version -> Version
- noVersion :: VersionRange
- notThisVersion :: Version -> VersionRange
- orEarlierVersion :: Version -> VersionRange
- orLaterVersion :: Version -> VersionRange
- projectVersionRange :: VersionRange -> VersionRangeF VersionRange
- thisVersion :: Version -> VersionRange
- unionVersionRanges :: VersionRange -> VersionRange -> VersionRange
- wildcardUpperBound :: Version -> Version
- withinVersion :: Version -> VersionRange
- isNoVersion :: VersionRange -> Bool
- isSpecificVersion :: VersionRange -> Maybe Version
- removeLowerBound :: VersionRange -> VersionRange
- removeUpperBound :: VersionRange -> VersionRange
- simplifyVersionRange :: VersionRange -> VersionRange
- transformCaret :: VersionRange -> VersionRange
- transformCaretLower :: VersionRange -> VersionRange
- transformCaretUpper :: VersionRange -> VersionRange
Template Haskell functions
packageVariable :: Pretty a => (PackageDescription -> a) -> Q Exp Source #
Renders the package variable specified by the function. The cabal file interrogated is the first one that is found in the current working directory.
packageVariableFrom :: Pretty a => FilePath -> (PackageDescription -> a) -> Q Exp Source #
Renders the package variable specified by the function, from a cabal file and the given path.
packageString :: String -> DocString Source #
Provides a Pretty instance for String, allowing text fields to be used
in packageVariable
. Use it composed with an accessor, eg.
packageVariable (packageString . copyright)
Cabal file data structures
The data structures for the cabal file are re-exported here for ease of use.
data PackageDescription #
Constructors
PackageDescription | |
Fields
|
Instances
Package PackageDescription | |||||
Defined in Distribution.Types.PackageDescription Methods | |||||
HasBuildInfos PackageDescription | |||||
Defined in Distribution.Types.PackageDescription Methods traverseBuildInfos :: Traversal' PackageDescription BuildInfo | |||||
Structured PackageDescription | |||||
Defined in Distribution.Types.PackageDescription Methods structure :: Proxy PackageDescription -> Structure structureHash' :: Tagged PackageDescription MD5 | |||||
Data PackageDescription | |||||
Defined in Distribution.Types.PackageDescription Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> PackageDescription -> c PackageDescription gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c PackageDescription toConstr :: PackageDescription -> Constr dataTypeOf :: PackageDescription -> DataType dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c PackageDescription) dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c PackageDescription) gmapT :: (forall b. Data b => b -> b) -> PackageDescription -> PackageDescription gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> PackageDescription -> r gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> PackageDescription -> r gmapQ :: (forall d. Data d => d -> u) -> PackageDescription -> [u] gmapQi :: Int -> (forall d. Data d => d -> u) -> PackageDescription -> u gmapM :: Monad m => (forall d. Data d => d -> m d) -> PackageDescription -> m PackageDescription gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> PackageDescription -> m PackageDescription gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> PackageDescription -> m PackageDescription | |||||
Generic PackageDescription | |||||
Defined in Distribution.Types.PackageDescription Associated Types
Methods from :: PackageDescription -> Rep PackageDescription x to :: Rep PackageDescription x -> PackageDescription | |||||
Read PackageDescription | |||||
Defined in Distribution.Types.PackageDescription Methods readsPrec :: Int -> ReadS PackageDescription readList :: ReadS [PackageDescription] readPrec :: ReadPrec PackageDescription readListPrec :: ReadPrec [PackageDescription] | |||||
Show PackageDescription | |||||
Defined in Distribution.Types.PackageDescription Methods showsPrec :: Int -> PackageDescription -> ShowS show :: PackageDescription -> String showList :: [PackageDescription] -> ShowS | |||||
Binary PackageDescription | |||||
Defined in Distribution.Types.PackageDescription Methods put :: PackageDescription -> Put get :: Get PackageDescription putList :: [PackageDescription] -> Put | |||||
NFData PackageDescription | |||||
Defined in Distribution.Types.PackageDescription Methods rnf :: PackageDescription -> () | |||||
Eq PackageDescription | |||||
Defined in Distribution.Types.PackageDescription Methods (==) :: PackageDescription -> PackageDescription -> Bool (/=) :: PackageDescription -> PackageDescription -> Bool | |||||
Ord PackageDescription | |||||
Defined in Distribution.Types.PackageDescription Methods compare :: PackageDescription -> PackageDescription -> Ordering (<) :: PackageDescription -> PackageDescription -> Bool (<=) :: PackageDescription -> PackageDescription -> Bool (>) :: PackageDescription -> PackageDescription -> Bool (>=) :: PackageDescription -> PackageDescription -> Bool max :: PackageDescription -> PackageDescription -> PackageDescription min :: PackageDescription -> PackageDescription -> PackageDescription | |||||
type Rep PackageDescription | |||||
Defined in Distribution.Types.PackageDescription type Rep PackageDescription = D1 ('MetaData "PackageDescription" "Distribution.Types.PackageDescription" "Cabal-syntax-3.10.3.0-46ec" 'False) (C1 ('MetaCons "PackageDescription" 'PrefixI 'True) ((((S1 ('MetaSel ('Just "specVersion") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 CabalSpecVersion) :*: (S1 ('MetaSel ('Just "package") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 PackageIdentifier) :*: S1 ('MetaSel ('Just "licenseRaw") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Either License License)))) :*: ((S1 ('MetaSel ('Just "licenseFiles") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [SymbolicPath PackageDir LicenseFile]) :*: S1 ('MetaSel ('Just "copyright") 'NoSourceUnpackedness 'SourceStrict 'DecidedUnpack) (Rec0 ShortText)) :*: (S1 ('MetaSel ('Just "maintainer") 'NoSourceUnpackedness 'SourceStrict 'DecidedUnpack) (Rec0 ShortText) :*: S1 ('MetaSel ('Just "author") 'NoSourceUnpackedness 'SourceStrict 'DecidedUnpack) (Rec0 ShortText)))) :*: (((S1 ('MetaSel ('Just "stability") 'NoSourceUnpackedness 'SourceStrict 'DecidedUnpack) (Rec0 ShortText) :*: S1 ('MetaSel ('Just "testedWith") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [(CompilerFlavor, VersionRange)])) :*: (S1 ('MetaSel ('Just "homepage") 'NoSourceUnpackedness 'SourceStrict 'DecidedUnpack) (Rec0 ShortText) :*: S1 ('MetaSel ('Just "pkgUrl") 'NoSourceUnpackedness 'SourceStrict 'DecidedUnpack) (Rec0 ShortText))) :*: ((S1 ('MetaSel ('Just "bugReports") 'NoSourceUnpackedness 'SourceStrict 'DecidedUnpack) (Rec0 ShortText) :*: S1 ('MetaSel ('Just "sourceRepos") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [SourceRepo])) :*: (S1 ('MetaSel ('Just "synopsis") 'NoSourceUnpackedness 'SourceStrict 'DecidedUnpack) (Rec0 ShortText) :*: S1 ('MetaSel ('Just "description") 'NoSourceUnpackedness 'SourceStrict 'DecidedUnpack) (Rec0 ShortText))))) :*: (((S1 ('MetaSel ('Just "category") 'NoSourceUnpackedness 'SourceStrict 'DecidedUnpack) (Rec0 ShortText) :*: (S1 ('MetaSel ('Just "customFieldsPD") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [(String, String)]) :*: S1 ('MetaSel ('Just "buildTypeRaw") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe BuildType)))) :*: ((S1 ('MetaSel ('Just "setupBuildInfo") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe SetupBuildInfo)) :*: S1 ('MetaSel ('Just "library") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Library))) :*: (S1 ('MetaSel ('Just "subLibraries") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Library]) :*: S1 ('MetaSel ('Just "executables") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Executable])))) :*: (((S1 ('MetaSel ('Just "foreignLibs") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [ForeignLib]) :*: S1 ('MetaSel ('Just "testSuites") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [TestSuite])) :*: (S1 ('MetaSel ('Just "benchmarks") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Benchmark]) :*: S1 ('MetaSel ('Just "dataFiles") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [FilePath]))) :*: ((S1 ('MetaSel ('Just "dataDir") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 FilePath) :*: S1 ('MetaSel ('Just "extraSrcFiles") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [FilePath])) :*: (S1 ('MetaSel ('Just "extraTmpFiles") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [FilePath]) :*: S1 ('MetaSel ('Just "extraDocFiles") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [FilePath]))))))) |
data PackageIdentifier #
Constructors
PackageIdentifier | |
Fields
|
Instances
Package PackageIdentifier | |||||
Defined in Distribution.Package Methods | |||||
Parsec PackageIdentifier | |||||
Defined in Distribution.Types.PackageId Methods parsec :: CabalParsing m => m PackageIdentifier | |||||
Pretty PackageIdentifier | |||||
Defined in Distribution.Types.PackageId Methods pretty :: PackageIdentifier -> Doc prettyVersioned :: CabalSpecVersion -> PackageIdentifier -> Doc | |||||
Structured PackageIdentifier | |||||
Defined in Distribution.Types.PackageId Methods structure :: Proxy PackageIdentifier -> Structure structureHash' :: Tagged PackageIdentifier MD5 | |||||
Data PackageIdentifier | |||||
Defined in Distribution.Types.PackageId Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> PackageIdentifier -> c PackageIdentifier gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c PackageIdentifier toConstr :: PackageIdentifier -> Constr dataTypeOf :: PackageIdentifier -> DataType dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c PackageIdentifier) dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c PackageIdentifier) gmapT :: (forall b. Data b => b -> b) -> PackageIdentifier -> PackageIdentifier gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> PackageIdentifier -> r gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> PackageIdentifier -> r gmapQ :: (forall d. Data d => d -> u) -> PackageIdentifier -> [u] gmapQi :: Int -> (forall d. Data d => d -> u) -> PackageIdentifier -> u gmapM :: Monad m => (forall d. Data d => d -> m d) -> PackageIdentifier -> m PackageIdentifier gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> PackageIdentifier -> m PackageIdentifier gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> PackageIdentifier -> m PackageIdentifier | |||||
Generic PackageIdentifier | |||||
Defined in Distribution.Types.PackageId Associated Types
Methods from :: PackageIdentifier -> Rep PackageIdentifier x to :: Rep PackageIdentifier x -> PackageIdentifier | |||||
Read PackageIdentifier | |||||
Defined in Distribution.Types.PackageId Methods readsPrec :: Int -> ReadS PackageIdentifier readList :: ReadS [PackageIdentifier] readPrec :: ReadPrec PackageIdentifier readListPrec :: ReadPrec [PackageIdentifier] | |||||
Show PackageIdentifier | |||||
Defined in Distribution.Types.PackageId Methods showsPrec :: Int -> PackageIdentifier -> ShowS show :: PackageIdentifier -> String showList :: [PackageIdentifier] -> ShowS | |||||
Binary PackageIdentifier | |||||
Defined in Distribution.Types.PackageId Methods put :: PackageIdentifier -> Put get :: Get PackageIdentifier putList :: [PackageIdentifier] -> Put | |||||
NFData PackageIdentifier | |||||
Defined in Distribution.Types.PackageId Methods rnf :: PackageIdentifier -> () | |||||
Eq PackageIdentifier | |||||
Defined in Distribution.Types.PackageId Methods (==) :: PackageIdentifier -> PackageIdentifier -> Bool (/=) :: PackageIdentifier -> PackageIdentifier -> Bool | |||||
Ord PackageIdentifier | |||||
Defined in Distribution.Types.PackageId Methods compare :: PackageIdentifier -> PackageIdentifier -> Ordering (<) :: PackageIdentifier -> PackageIdentifier -> Bool (<=) :: PackageIdentifier -> PackageIdentifier -> Bool (>) :: PackageIdentifier -> PackageIdentifier -> Bool (>=) :: PackageIdentifier -> PackageIdentifier -> Bool max :: PackageIdentifier -> PackageIdentifier -> PackageIdentifier min :: PackageIdentifier -> PackageIdentifier -> PackageIdentifier | |||||
type Rep PackageIdentifier | |||||
Defined in Distribution.Types.PackageId type Rep PackageIdentifier = D1 ('MetaData "PackageIdentifier" "Distribution.Types.PackageId" "Cabal-syntax-3.10.3.0-46ec" 'False) (C1 ('MetaCons "PackageIdentifier" 'PrefixI 'True) (S1 ('MetaSel ('Just "pkgName") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 PackageName) :*: S1 ('MetaSel ('Just "pkgVersion") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Version))) |
Instances
Parsec Version | |||||
Defined in Distribution.Types.Version | |||||
Pretty Version | |||||
Defined in Distribution.Types.Version | |||||
Structured Version | |||||
Defined in Distribution.Types.Version | |||||
Data Version | |||||
Defined in Distribution.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 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 :: forall r r'. (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 | |||||
Generic Version | |||||
Defined in Distribution.Types.Version Associated Types
| |||||
Read Version | |||||
Defined in Distribution.Types.Version | |||||
Show Version | |||||
Binary Version | |||||
NFData Version | |||||
Defined in Distribution.Types.Version | |||||
Eq Version | |||||
Ord Version | |||||
type Rep Version | |||||
Defined in Distribution.Types.Version type Rep Version = D1 ('MetaData "Version" "Distribution.Types.Version" "Cabal-syntax-3.10.3.0-46ec" 'False) (C1 ('MetaCons "PV0" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'SourceUnpack 'SourceStrict 'DecidedUnpack) (Rec0 Word64)) :+: C1 ('MetaCons "PV1" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedUnpack) (Rec0 Int) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Int]))) |
alterVersion :: ([Int] -> [Int]) -> Version -> Version #
mkVersion' :: Version -> Version #
nullVersion :: Version #
versionNumbers :: Version -> [Int] #
Constructors
ExclusiveBound | |
InclusiveBound |
data LowerBound #
Constructors
LowerBound !Version !Bound |
Instances
Show LowerBound | |
Defined in Distribution.Types.VersionInterval Methods showsPrec :: Int -> LowerBound -> ShowS show :: LowerBound -> String showList :: [LowerBound] -> ShowS | |
Eq LowerBound | |
Defined in Distribution.Types.VersionInterval |
data UpperBound #
Constructors
NoUpperBound | |
UpperBound !Version !Bound |
Instances
Show UpperBound | |
Defined in Distribution.Types.VersionInterval Methods showsPrec :: Int -> UpperBound -> ShowS show :: UpperBound -> String showList :: [UpperBound] -> ShowS | |
Eq UpperBound | |
Defined in Distribution.Types.VersionInterval |
data VersionInterval #
Constructors
VersionInterval !LowerBound !UpperBound |
Instances
Show VersionInterval | |
Defined in Distribution.Types.VersionInterval Methods showsPrec :: Int -> VersionInterval -> ShowS show :: VersionInterval -> String showList :: [VersionInterval] -> ShowS | |
Eq VersionInterval | |
Defined in Distribution.Types.VersionInterval Methods (==) :: VersionInterval -> VersionInterval -> Bool (/=) :: VersionInterval -> VersionInterval -> Bool |
data VersionIntervals #
Instances
Show VersionIntervals | |
Defined in Distribution.Types.VersionInterval Methods showsPrec :: Int -> VersionIntervals -> ShowS show :: VersionIntervals -> String showList :: [VersionIntervals] -> ShowS | |
Eq VersionIntervals | |
Defined in Distribution.Types.VersionInterval Methods (==) :: VersionIntervals -> VersionIntervals -> Bool (/=) :: VersionIntervals -> VersionIntervals -> Bool |
foldVersionRange :: a -> (Version -> a) -> (Version -> a) -> (Version -> a) -> (a -> a -> a) -> (a -> a -> a) -> VersionRange -> a #
hasLowerBound :: VersionRange -> Bool #
hasUpperBound :: VersionRange -> Bool #
isAnyVersion :: VersionRange -> Bool #
withinRange :: Version -> VersionRange -> Bool #
data VersionRangeF a #
Constructors
ThisVersionF Version | |
LaterVersionF Version | |
OrLaterVersionF Version | |
EarlierVersionF Version | |
OrEarlierVersionF Version | |
MajorBoundVersionF Version | |
UnionVersionRangesF a a | |
IntersectVersionRangesF a a |
Instances
Foldable VersionRangeF | |||||
Defined in Distribution.Types.VersionRange.Internal Methods fold :: Monoid m => VersionRangeF m -> m foldMap :: Monoid m => (a -> m) -> VersionRangeF a -> m foldMap' :: Monoid m => (a -> m) -> VersionRangeF a -> m foldr :: (a -> b -> b) -> b -> VersionRangeF a -> b foldr' :: (a -> b -> b) -> b -> VersionRangeF a -> b foldl :: (b -> a -> b) -> b -> VersionRangeF a -> b foldl' :: (b -> a -> b) -> b -> VersionRangeF a -> b foldr1 :: (a -> a -> a) -> VersionRangeF a -> a foldl1 :: (a -> a -> a) -> VersionRangeF a -> a toList :: VersionRangeF a -> [a] null :: VersionRangeF a -> Bool length :: VersionRangeF a -> Int elem :: Eq a => a -> VersionRangeF a -> Bool maximum :: Ord a => VersionRangeF a -> a minimum :: Ord a => VersionRangeF a -> a sum :: Num a => VersionRangeF a -> a product :: Num a => VersionRangeF a -> a | |||||
Traversable VersionRangeF | |||||
Defined in Distribution.Types.VersionRange.Internal Methods traverse :: Applicative f => (a -> f b) -> VersionRangeF a -> f (VersionRangeF b) sequenceA :: Applicative f => VersionRangeF (f a) -> f (VersionRangeF a) mapM :: Monad m => (a -> m b) -> VersionRangeF a -> m (VersionRangeF b) sequence :: Monad m => VersionRangeF (m a) -> m (VersionRangeF a) | |||||
Functor VersionRangeF | |||||
Defined in Distribution.Types.VersionRange.Internal Methods fmap :: (a -> b) -> VersionRangeF a -> VersionRangeF b (<$) :: a -> VersionRangeF b -> VersionRangeF a | |||||
Data a => Data (VersionRangeF a) | |||||
Defined in Distribution.Types.VersionRange.Internal Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> VersionRangeF a -> c (VersionRangeF a) gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (VersionRangeF a) toConstr :: VersionRangeF a -> Constr dataTypeOf :: VersionRangeF a -> DataType dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (VersionRangeF a)) dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (VersionRangeF a)) gmapT :: (forall b. Data b => b -> b) -> VersionRangeF a -> VersionRangeF a gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> VersionRangeF a -> r gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> VersionRangeF a -> r gmapQ :: (forall d. Data d => d -> u) -> VersionRangeF a -> [u] gmapQi :: Int -> (forall d. Data d => d -> u) -> VersionRangeF a -> u gmapM :: Monad m => (forall d. Data d => d -> m d) -> VersionRangeF a -> m (VersionRangeF a) gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> VersionRangeF a -> m (VersionRangeF a) gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> VersionRangeF a -> m (VersionRangeF a) | |||||
Generic (VersionRangeF a) | |||||
Defined in Distribution.Types.VersionRange.Internal Associated Types
Methods from :: VersionRangeF a -> Rep (VersionRangeF a) x to :: Rep (VersionRangeF a) x -> VersionRangeF a | |||||
Read a => Read (VersionRangeF a) | |||||
Defined in Distribution.Types.VersionRange.Internal Methods readsPrec :: Int -> ReadS (VersionRangeF a) readList :: ReadS [VersionRangeF a] readPrec :: ReadPrec (VersionRangeF a) readListPrec :: ReadPrec [VersionRangeF a] | |||||
Show a => Show (VersionRangeF a) | |||||
Defined in Distribution.Types.VersionRange.Internal Methods showsPrec :: Int -> VersionRangeF a -> ShowS show :: VersionRangeF a -> String showList :: [VersionRangeF a] -> ShowS | |||||
Eq a => Eq (VersionRangeF a) | |||||
Defined in Distribution.Types.VersionRange.Internal Methods (==) :: VersionRangeF a -> VersionRangeF a -> Bool (/=) :: VersionRangeF a -> VersionRangeF a -> Bool | |||||
type Rep (VersionRangeF a) | |||||
Defined in Distribution.Types.VersionRange.Internal type Rep (VersionRangeF a) = D1 ('MetaData "VersionRangeF" "Distribution.Types.VersionRange.Internal" "Cabal-syntax-3.10.3.0-46ec" 'False) (((C1 ('MetaCons "ThisVersionF" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Version)) :+: C1 ('MetaCons "LaterVersionF" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Version))) :+: (C1 ('MetaCons "OrLaterVersionF" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Version)) :+: C1 ('MetaCons "EarlierVersionF" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Version)))) :+: ((C1 ('MetaCons "OrEarlierVersionF" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Version)) :+: C1 ('MetaCons "MajorBoundVersionF" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Version))) :+: (C1 ('MetaCons "UnionVersionRangesF" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)) :+: C1 ('MetaCons "IntersectVersionRangesF" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a))))) |
data VersionRange #
Instances
Parsec VersionRange | |||||
Defined in Distribution.Types.VersionRange.Internal Methods parsec :: CabalParsing m => m VersionRange | |||||
Pretty VersionRange | |||||
Defined in Distribution.Types.VersionRange.Internal | |||||
Structured VersionRange | |||||
Defined in Distribution.Types.VersionRange.Internal | |||||
Data VersionRange | |||||
Defined in Distribution.Types.VersionRange.Internal 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 :: forall r r'. (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 | |||||
Generic VersionRange | |||||
Defined in Distribution.Types.VersionRange.Internal Associated Types
| |||||
Read VersionRange | |||||
Defined in Distribution.Types.VersionRange.Internal Methods readsPrec :: Int -> ReadS VersionRange readList :: ReadS [VersionRange] readPrec :: ReadPrec VersionRange readListPrec :: ReadPrec [VersionRange] | |||||
Show VersionRange | |||||
Defined in Distribution.Types.VersionRange.Internal Methods showsPrec :: Int -> VersionRange -> ShowS show :: VersionRange -> String showList :: [VersionRange] -> ShowS | |||||
Binary VersionRange | |||||
Defined in Distribution.Types.VersionRange.Internal | |||||
NFData VersionRange | |||||
Defined in Distribution.Types.VersionRange.Internal Methods rnf :: VersionRange -> () | |||||
Eq VersionRange | |||||
Defined in Distribution.Types.VersionRange.Internal | |||||
Ord VersionRange | |||||
Defined in Distribution.Types.VersionRange.Internal Methods compare :: VersionRange -> VersionRange -> Ordering (<) :: VersionRange -> VersionRange -> Bool (<=) :: VersionRange -> VersionRange -> Bool (>) :: VersionRange -> VersionRange -> Bool (>=) :: VersionRange -> VersionRange -> Bool max :: VersionRange -> VersionRange -> VersionRange min :: VersionRange -> VersionRange -> VersionRange | |||||
Newtype (CompilerFlavor, VersionRange) TestedWith | |||||
Defined in Distribution.FieldGrammar.Newtypes Methods pack :: (CompilerFlavor, VersionRange) -> TestedWith unpack :: TestedWith -> (CompilerFlavor, VersionRange) | |||||
type Rep VersionRange | |||||
Defined in Distribution.Types.VersionRange.Internal type Rep VersionRange = D1 ('MetaData "VersionRange" "Distribution.Types.VersionRange.Internal" "Cabal-syntax-3.10.3.0-46ec" 'False) (((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 "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))))) |
anaVersionRange :: (a -> VersionRangeF a) -> a -> VersionRange #
cataVersionRange :: (VersionRangeF a -> a) -> VersionRange -> a #
earlierVersion :: Version -> VersionRange #
hyloVersionRange :: (VersionRangeF VersionRange -> VersionRange) -> (VersionRange -> VersionRangeF VersionRange) -> VersionRange -> VersionRange #
laterVersion :: Version -> VersionRange #
majorUpperBound :: Version -> Version #
notThisVersion :: Version -> VersionRange #
orEarlierVersion :: Version -> VersionRange #
orLaterVersion :: Version -> VersionRange #
thisVersion :: Version -> VersionRange #
wildcardUpperBound :: Version -> Version #
withinVersion :: Version -> VersionRange #
isNoVersion :: VersionRange -> Bool #
isSpecificVersion :: VersionRange -> Maybe Version #