HORIZON HASKELLDocslts/ghc-10.0.xaa25b892026-10-10Search names, modules, packages, or :: a typeCtrl K

GHC 10.0.0.20260917 · lts/ghc-10.0.x · aa25b89 · 2026-10-10

Moduleghc-10.0.0.20260917GHC2024

GHC.Unit.Module.ModIface

  • 17 types
  • 85 values
datadata ModIface_ (phase :: ModIfacePhase)
#

A ModIface summarises everything we know about a compiled module.

See Note [Structure of ModIface] for information about what belongs in each field.

See Note [Strictness in ModIface] to learn about why all the fields are lazy.

See Note [Private fields in ModIface] to learn why we don't export any of the fields.

Instances2Binary, NFData
datadata IfaceBinHandle (phase :: ModIfacePhase) where
#

In-memory byte array representation of a ModIface.

See Note [Sharing of ModIface] for why we need this.

Constructors

datadata IfaceAbiHashes
#

Extends a PartialModIface with hashes of the ABI.

  • The mi_mod_hash is the hash of the entire ABI

  • THe other fields are more specific hashes of parts of the ABI

Constructors

Instances2NFData, Binary
datadata IfaceSelfRecomp
#

The information for a module which is only used when deciding whether to recompile itself.

See Note [Self recompilation information in interface files]

Constructors

Instances3NFData, Outputable, Binary
datadata IfaceCache
#

Constructors

Instances1NFData
datadata IfaceSimplifiedCore
#

The information needed to restart bytecode generation. Enabled by `-fwrite-if-simplified-core`.

Constructors

Instances2NFData, Binary
datadata IfacePublic_ (phase :: ModIfacePhase)
#

The public interface of a module which are used by other modules when importing this module. The ABI of a module.

Constructors

Instances2NFData, Binary
typetype WhetherHasOrphans = Bool
#

Records whether a module has orphans. An "orphan" is one of:

  • An instance declaration in a module other than the definition module for one of the type constructors or classes in the instance head

  • A rewrite rule in a module other than the one defining the function in the head of the rule