cabal-install-solver
Safe HaskellSafe-Inferred
LanguageHaskell2010

Distribution.Solver.Modular.Index

Synopsis

Documentation

type Index = Map PN (Map I PInfo) Source #

An index contains information about package instances. This is a nested dictionary. Package names are mapped to instances, which in turn is mapped to info.

data PInfo Source #

Info associated with a package instance. Currently, dependencies, component names, flags and failure reasons. The component map records whether any components are unbuildable in the current environment (compiler, os, arch, and global flag constraints). Packages that have a failure reason recorded for them are disabled globally, for reasons external to the solver. We currently use this for shadowing which essentially is a GHC limitation, and for installed packages that are broken.

data ComponentInfo Source #

Info associated with each library and executable in a package instance.

Instances

Instances details
Show ComponentInfo Source # 
Instance details

Defined in Distribution.Solver.Modular.Index

newtype IsVisible Source #

Whether a component is visible in the current environment.

Constructors

IsVisible Bool 

Instances

Instances details
Show IsVisible Source # 
Instance details

Defined in Distribution.Solver.Modular.Index

Eq IsVisible Source # 
Instance details

Defined in Distribution.Solver.Modular.Index

newtype IsBuildable Source #

Whether a component is made unbuildable by a "buildable: False" field.

Constructors

IsBuildable Bool 

Instances

Instances details
Show IsBuildable Source # 
Instance details

Defined in Distribution.Solver.Modular.Index

Eq IsBuildable Source # 
Instance details

Defined in Distribution.Solver.Modular.Index

mkIndex :: [(PN, I, PInfo)] -> Index Source #