Cabal-3.3.0.0: A framework for packaging Haskell software

Safe HaskellNone
LanguageHaskell2010

Distribution.Backpack.LinkedComponent

Description

Synopsis

Documentation

data LinkedComponent #

A linked component is a component that has been mix-in linked, at which point we have determined how all the dependencies of the component are explicitly instantiated (in the form of an OpenUnitId). ConfiguredComponent is mix-in linked into LinkedComponent, which is then instantiated into ReadyComponent.

Constructors

LinkedComponent 

Fields

lc_insts :: LinkedComponent -> [(ModuleName, OpenModule)] #

The instantiation of lc_uid; this always has the invariant that it is a mapping from a module name A to A (the hole A).

lc_uid :: LinkedComponent -> OpenUnitId #

The OpenUnitId of this component in the "default" instantiation. See also lc_insts. LinkedComponents cannot be instantiated (e.g., there is no ModSubst instance for them).

lc_cid :: LinkedComponent -> ComponentId #

Uniquely identifies a LinkedComponent. Corresponds to cc_cid.