ghc-lib-parser-8.10.2.20200808: The GHC API, decoupled from GHC versions
Safe HaskellNone
LanguageHaskell2010

PackageConfig

Description

Package configuration information: essentially the interface to Cabal, with some utilities

(c) The University of Glasgow, 2004

Synopsis

Documentation

Mostly the compiler deals in terms of UnitIds, which are md5 hashes of a package ID, keys of its dependencies, and Cabal flags. You're expected to pass in the unit id in the -this-unit-id flag. However, for wired-in packages like base & rts, we don't necessarily know what the version is, so these are handled specially; see .

UnitId

The PackageConfig type: information about a package

data InstalledPackageInfo compid srcpkgid srcpkgname instunitid unitid modulename mod Source #

This is a subset of Cabal's InstalledPackageInfo, with just the bits that GHC is interested in. See Cabal's documentation for a more detailed description of all of the fields.

Constructors

InstalledPackageInfo 

Fields

Instances

Instances details
(Eq instunitid, Eq compid, Eq modulename, Eq mod, Eq srcpkgid, Eq srcpkgname) => Eq (InstalledPackageInfo compid srcpkgid srcpkgname instunitid unitid modulename mod) Source # 
Instance details

Defined in GHC.PackageDb

Methods

(==) :: InstalledPackageInfo compid srcpkgid srcpkgname instunitid unitid modulename mod -> InstalledPackageInfo compid srcpkgid srcpkgname instunitid unitid modulename mod -> Bool #

(/=) :: InstalledPackageInfo compid srcpkgid srcpkgname instunitid unitid modulename mod -> InstalledPackageInfo compid srcpkgid srcpkgname instunitid unitid modulename mod -> Bool #

(Show instunitid, Show compid, Show modulename, Show mod, Show srcpkgid, Show srcpkgname) => Show (InstalledPackageInfo compid srcpkgid srcpkgname instunitid unitid modulename mod) Source # 
Instance details

Defined in GHC.PackageDb

Methods

showsPrec :: Int -> InstalledPackageInfo compid srcpkgid srcpkgname instunitid unitid modulename mod -> ShowS #

show :: InstalledPackageInfo compid srcpkgid srcpkgname instunitid unitid modulename mod -> String #

showList :: [InstalledPackageInfo compid srcpkgid srcpkgname instunitid unitid modulename mod] -> ShowS #

RepInstalledPackageInfo a b c d e f g => Binary (InstalledPackageInfo a b c d e f g) Source # 
Instance details

Defined in GHC.PackageDb

Methods

put :: InstalledPackageInfo a b c d e f g -> Put

get :: Get (InstalledPackageInfo a b c d e f g)

putList :: [InstalledPackageInfo a b c d e f g] -> Put

newtype ComponentId Source #

A ComponentId consists of the package name, package version, component ID, the transitive dependencies of the component, and other information to uniquely identify the source code and build configuration of a component.

This used to be known as an InstalledPackageId, but a package can contain multiple components and a ComponentId uniquely identifies a component within a package. When a package only has one component, the ComponentId coincides with the InstalledPackageId

Constructors

ComponentId FastString 

Instances

Instances details
Eq ComponentId Source # 
Instance details

Defined in Module

Ord ComponentId Source # 
Instance details

Defined in Module

BinaryStringRep ComponentId Source # 
Instance details

Defined in Module

Methods

fromStringRep :: ByteString -> ComponentId Source #

toStringRep :: ComponentId -> ByteString Source #

Outputable ComponentId Source # 
Instance details

Defined in Module

Uniquable ComponentId Source # 
Instance details

Defined in Module

Binary ComponentId Source # 
Instance details

Defined in Module

DbUnitIdModuleRep InstalledUnitId ComponentId UnitId ModuleName Module Source # 
Instance details

Defined in Module

data Version #

Constructors

Version 

Fields

Instances

Instances details
IsList Version 
Instance details

Defined in GHC.Exts

Associated Types

type Item Version

Methods

fromList :: [Item Version] -> Version

fromListN :: Int -> [Item Version] -> Version

toList :: Version -> [Item Version]

Eq Version 
Instance details

Defined in Data.Version

Methods

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

(/=) :: Version -> Version -> Bool #

Data Version 
Instance details

Defined in Data.Data

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

toConstr :: Version -> Constr

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

Ord Version 
Instance details

Defined in Data.Version

Read Version 
Instance details

Defined in Data.Version

Show Version 
Instance details

Defined in Data.Version

Generic Version 
Instance details

Defined in Data.Version

Associated Types

type Rep Version :: Type -> Type

Methods

from :: Version -> Rep Version x

to :: Rep Version x -> Version

Binary Version 
Instance details

Defined in Data.Binary.Class

Methods

put :: Version -> Put

get :: Get Version

putList :: [Version] -> Put

NFData Version 
Instance details

Defined in Control.DeepSeq

Methods

rnf :: Version -> ()

type Rep Version 
Instance details

Defined in Data.Version

type Rep Version = D1 ('MetaData "Version" "Data.Version" "base" 'False) (C1 ('MetaCons "Version" 'PrefixI 'True) (S1 ('MetaSel ('Just "versionBranch") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Int]) :*: S1 ('MetaSel ('Just "versionTags") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [String])))
type Item Version 
Instance details

Defined in GHC.Exts

type Item Version = Int