Cabal-syntax-3.12.1.0: A library for working with .cabal files

Safe Haskell | None
Language | Haskell2010

Distribution.Types.ExeDependency

Synopsis

- data ExeDependency = ExeDependency PackageName UnqualComponentName VersionRange
- qualifiedExeName :: ExeDependency -> ComponentName

# Documentation

data ExeDependency Source #

Describes a dependency on an executable from a package

Constructors

ExeDependency PackageName UnqualComponentName VersionRange |

#### Instances

Instances details

Parsec ExeDependency Source #

Examples

    >>> simpleParsec "happy:happy" :: Maybe ExeDependency
    Just (ExeDependency (PackageName "happy") (UnqualComponentName "happy") (OrLaterVersion (mkVersion [0])))

    >>> simpleParsec "happy:happy >= 1.19.12" :: Maybe ExeDependency
    Just (ExeDependency (PackageName "happy") (UnqualComponentName "happy") (OrLaterVersion (mkVersion [1,19,12])))

    >>> simpleParsec "happy:happy>=1.19.12" :: Maybe ExeDependency
    Just (ExeDependency (PackageName "happy") (UnqualComponentName "happy") (OrLaterVersion (mkVersion [1,19,12])))

    >>> simpleParsec "happy : happy >= 1.19.12" :: Maybe ExeDependency
    Nothing

    >>> simpleParsec "happy: happy >= 1.19.12" :: Maybe ExeDependency
    Nothing

    >>> simpleParsec "happy :happy >= 1.19.12" :: Maybe ExeDependency
    Nothing

Instance details Defined in Distribution.Types.ExeDependency Methods parsec :: CabalParsing m => m ExeDependency Source #
Pretty ExeDependency Source # |
Instance details Defined in Distribution.Types.ExeDependency Methods pretty :: ExeDependency -> Doc Source # prettyVersioned :: CabalSpecVersion -> ExeDependency -> Doc Source #
Structured ExeDependency Source # |
Instance details Defined in Distribution.Types.ExeDependency Methods structure :: Proxy ExeDependency -> Structure Source # structureHash' :: Tagged ExeDependency MD5
Binary ExeDependency Source # |
Instance details Defined in Distribution.Types.ExeDependency Methods put :: ExeDependency -> Put Source # get :: Get ExeDependency Source # putList :: [ExeDependency] -> Put Source #
NFData ExeDependency Source # |
Instance details Defined in Distribution.Types.ExeDependency Methods rnf :: ExeDependency -> () Source #
Data ExeDependency Source # |

Instance details

Defined in Distribution.Types.ExeDependency

Methods

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

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

toConstr :: ExeDependency -> Constr #

dataTypeOf :: ExeDependency -> DataType #

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

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

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

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

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

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

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

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

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

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

Generic ExeDependency Source # |

Instance details

Defined in Distribution.Types.ExeDependency

Associated Types

type Rep ExeDependency |

Instance details

Defined in Distribution.Types.ExeDependency

type Rep ExeDependency = D1 ('MetaData "ExeDependency" "Distribution.Types.ExeDependency" "Cabal-syntax-3.12.1.0-5c0e" 'False) (C1 ('MetaCons "ExeDependency" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 PackageName) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 UnqualComponentName) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VersionRange))))

Methods

from :: ExeDependency -> Rep ExeDependency x #

to :: Rep ExeDependency x -> ExeDependency #

Read ExeDependency Source # |
Instance details Defined in Distribution.Types.ExeDependency Methods readsPrec :: Int -> ReadS ExeDependency # readList :: ReadS [ExeDependency] # readPrec :: ReadPrec ExeDependency # readListPrec :: ReadPrec [ExeDependency] #
Show ExeDependency Source # |
Instance details Defined in Distribution.Types.ExeDependency Methods showsPrec :: Int -> ExeDependency -> ShowS # show :: ExeDependency -> String # showList :: [ExeDependency] -> ShowS #
Eq ExeDependency Source # |
Instance details Defined in Distribution.Types.ExeDependency Methods (==) :: ExeDependency -> ExeDependency -> Bool # (/=) :: ExeDependency -> ExeDependency -> Bool #
Ord ExeDependency Source # |

Instance details

Defined in Distribution.Types.ExeDependency

Methods

compare :: ExeDependency -> ExeDependency -> Ordering #

(<) :: ExeDependency -> ExeDependency -> Bool #

(<=) :: ExeDependency -> ExeDependency -> Bool #

(>) :: ExeDependency -> ExeDependency -> Bool #

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

max :: ExeDependency -> ExeDependency -> ExeDependency #

min :: ExeDependency -> ExeDependency -> ExeDependency #

type Rep ExeDependency Source # |

Instance details

Defined in Distribution.Types.ExeDependency

type Rep ExeDependency = D1 ('MetaData "ExeDependency" "Distribution.Types.ExeDependency" "Cabal-syntax-3.12.1.0-5c0e" 'False) (C1 ('MetaCons "ExeDependency" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 PackageName) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 UnqualComponentName) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VersionRange))))

qualifiedExeName :: ExeDependency -> ComponentName Source #