Cabal-2.4.0.1: A framework for packaging Haskell software

Safe HaskellNone
LanguageHaskell2010

Distribution.Backpack.LinkedComponent

Description

Synopsis

Documentation

data LinkedComponent Source #

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)] Source #

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 Source #

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 Source #

Uniquely identifies a LinkedComponent. Corresponds to cc_cid.