... | @@ -27,28 +27,24 @@ GHC draws its information about what packages are installed from one or more pac |
... | @@ -27,28 +27,24 @@ GHC draws its information about what packages are installed from one or more pac |
|
|
|
|
|
Source files: [compiler/main/PackageConfig.hs](/ghc/ghc/tree/master/ghc/compiler/main/PackageConfig.hs), [compiler/main/Packages.lhs](/trac/ghc/browser/ghc/compiler/main/Packages.lhs)
|
|
Source files: [compiler/main/PackageConfig.hs](/ghc/ghc/tree/master/ghc/compiler/main/PackageConfig.hs), [compiler/main/Packages.lhs](/trac/ghc/browser/ghc/compiler/main/Packages.lhs)
|
|
|
|
|
|
<table><tr><th>`PackageId`</th>
|
|
* **`PackageId`**
|
|
<td>
|
|
|
|
The most important package type inside ghc is `PackageId`, representing the full name of a package (including its version).
|
|
The most important package type inside ghc is `PackageId`, representing the full name of a package (including its version).
|
|
It is represented as a `FastString` for fast comparison.
|
|
It is represented as a `FastString` for fast comparison.
|
|
</td></tr></table>
|
|
|
|
|
|
|
|
<table><tr><th>`PackageConfig`</th>
|
|
- **`PackageConfig`**
|
|
<td>
|
|
|
|
The information contained in the package database about a package. Currently this is a synonym for `InstalledPackageInfo`,
|
|
The information contained in the package database about a package. Currently this is a synonym for `InstalledPackageInfo`,
|
|
later it might contain extra GHC-specific info, or have a more optimised representation.
|
|
later it might contain extra GHC-specific info, or have a more optimised representation.
|
|
</td></tr></table>
|
|
|
|
|
|
|
|
<table><tr><th>`PackageConfigMap`</th>
|
|
- **`PackageConfigMap`**
|
|
<td>
|
|
|
|
A mapping (actually `UniqFM`) from `PackageId` to `PackageConfig`.
|
|
A mapping (actually `UniqFM`) from `PackageId` to `PackageConfig`.
|
|
</td></tr></table>
|
|
|
|
|
|
- **`PackageState`**
|
|
|
|
|
|
<table><tr><th>`PackageState`</th>
|
|
Everything the compiler knows about the package database. This is built by `initPackages` in
|
|
<td>
|
|
|
|
Everything the compiler knows about the package database. This is built by `initPackages` in
|
|
|
|
[compiler/main/Packages.lhs](/ghc/ghc/tree/master/ghc/compiler/main/Packages.lhs), and stashed in the `DynFlags`.
|
|
[compiler/main/Packages.lhs](/ghc/ghc/tree/master/ghc/compiler/main/Packages.lhs), and stashed in the `DynFlags`.
|
|
</td></tr></table>
|
|
|
|
|
|
|
|
## Modules
|
|
## Modules
|
|
|
|
|
... | | ... | |