HORIZON HASKELLDocslts/ghc-9.10.x248f8f02026-10-05Search names, modules, packages, or :: a typeCtrl K

GHC 9.10.3 · lts/ghc-9.10.x · 248f8f0 · 2026-10-05

Modulecabal-install-3.12.1.0Haskell2010

Distribution.Client.Types.AllowNewer

  • 7 types
  • 2 values
newtypenewtype AllowNewer
#

RelaxDeps in the context of upper bounds (i.e. for --allow-newer flag)

Instances9Eq, Read, Show, Generic, Semigroup, Monoid, …
newtypenewtype AllowOlder
#

RelaxDeps in the context of lower bounds (i.e. for --allow-older flag)

Instances9Eq, Read, Show, Generic, Semigroup, Monoid, …
datadata RelaxDeps
#

Generic data type for policy when relaxing bounds in dependencies. Don't use this directly: use AllowOlder or AllowNewer depending on whether or not you are relaxing an lower or upper bound (respectively).

Constructors

  • RelaxDepsSome [RelaxedDep]

    Ignore upper (resp. lower) bounds in some (or no) dependencies on the given packages.

    RelaxDepsSome [] is the default, i.e. honor the bounds in all dependencies, never choose versions newer (resp. older) than allowed.

  • RelaxDepsAll

    Ignore upper (resp. lower) bounds in dependencies on all packages.

    Note: This is should be semantically equivalent to

    RelaxDepsSome [RelaxedDep RelaxDepScopeAll RelaxDepModNone RelaxDepSubjectAll]

    (TODO: consider normalising RelaxDeps and/or RelaxedDep)

Instances11Eq, Read, Show, Generic, Semigroup, Monoid, …
  • Eq RelaxDepsDefined in cabal-install-3.12.1.0 · Distribution.Client.Types.AllowNewer
  • Read RelaxDepsDefined in cabal-install-3.12.1.0 · Distribution.Client.Types.AllowNewer
  • Show RelaxDepsDefined in cabal-install-3.12.1.0 · Distribution.Client.Types.AllowNewer
  • Generic RelaxDepsDefined in cabal-install-3.12.1.0 · Distribution.Client.Types.AllowNewer
  • Semigroup RelaxDepsDefined in cabal-install-3.12.1.0 · Distribution.Client.Types.AllowNewer

    RelaxDepsAll is the absorbing element

  • Monoid RelaxDepsDefined in cabal-install-3.12.1.0 · Distribution.Client.Types.AllowNewer

    RelaxDepsSome [] is the identity element

  • Binary RelaxDepsDefined in cabal-install-3.12.1.0 · Distribution.Client.Types.AllowNewer
  • Parsec RelaxDepsDefined in cabal-install-3.12.1.0 · Distribution.Client.Types.AllowNewer
    Example1 expression
    simpleParsec "all" :: Maybe RelaxDepsJust RelaxDepsAll
    Example1 expression
    simpleParsec "none" :: Maybe RelaxDepsJust (RelaxDepsSome [])
    Example1 expression
    simpleParsec "*, *" :: Maybe RelaxDepsJust RelaxDepsAll
    Example1 expression
    simpleParsec "*:*" :: Maybe RelaxDepsJust RelaxDepsAll
    Example1 expression
    simpleParsec "foo:bar, quu:puu" :: Maybe RelaxDepsJust (RelaxDepsSome [RelaxedDep (RelaxDepScopePackage (PackageName "foo")) RelaxDepModNone (RelaxDepSubjectPkg (PackageName "bar")),RelaxedDep (RelaxDepScopePackage (PackageName "quu")) RelaxDepModNone (RelaxDepSubjectPkg (PackageName "puu"))])

    This is not a glitch, even it looks like:

    Example1 expression
    simpleParsec ", all" :: Maybe RelaxDepsJust RelaxDepsAll
    Example1 expression
    simpleParsec "" :: Maybe RelaxDepsNothing
  • Pretty RelaxDepsDefined in cabal-install-3.12.1.0 · Distribution.Client.Types.AllowNewer
  • Structured RelaxDepsDefined in cabal-install-3.12.1.0 · Distribution.Client.Types.AllowNewer
  • type Rep RelaxDeps = D1 ('MetaData "RelaxDeps" "Distribution.Client.Types.AllowNewer" "cabal-install-3.12.1.0-1D90DH9PPem9Tqn79I9vRN" 'False) (C1 ('MetaCons "RelaxDepsSome" 'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [RelaxedDep])) :+: C1 ('MetaCons "RelaxDepsAll" 'PrefixI 'False) U1)Defined in cabal-install-3.12.1.0 · Distribution.Client.Types.AllowNewer
datadata RelaxDepMod
#

Modifier for dependency relaxation

Constructors

Instances7Eq, Read, Show, Generic, Binary, Structured, …
datadata RelaxDepScope
#

Specify the scope of a relaxation, i.e. limit which depending packages are allowed to have their version constraints relaxed.

Constructors

Instances7Eq, Read, Show, Generic, Binary, Structured, …
datadata RelaxDepSubject
#

Express whether to relax bounds on all packages, or a single package

Instances10Eq, Ord, Read, Show, Generic, Binary, …
datadata RelaxedDep
#

Dependencies can be relaxed either for all packages in the install plan, or only for some packages.

Instances9Eq, Read, Show, Generic, Binary, Parsec, …