HORIZON HASKELLDocslts/ghc-10.0.x04404a62026-10-19Search packagesCtrl K
Theme: |

GHC 10.0.0.20260917 · lts/ghc-10.0.x · 04404a6 · 2026-10-19

Moduleghc-10.0.0.20260917GHC2024

GHC.Stg.EnforceEpt.TagSig

Synopsis
datadata TagSig

The signature attached to a binding.

Constructors

  • TagVal TagInfo

    A value binding (thunk, constructor, etc.)

  • TagFun TagInfo

    A function/join-point binding; carries the TagInfo of saturated-call return values. See Note [TagInfo of functions].

Instances4Eq, Outputable, Binary, OutputableBndr
  • Eq TagSigDefined in ghc-10.0.0.20260917 · GHC.Stg.EnforceEpt.TagSig
  • Outputable TagSigDefined in ghc-10.0.0.20260917 · GHC.Stg.EnforceEpt.TagSig
  • Binary TagSigDefined in ghc-10.0.0.20260917 · GHC.Stg.EnforceEpt.TagSig
  • OutputableBndr (Id, TagSig)Defined in ghc-10.0.0.20260917 · GHC.Stg.EnforceEpt.TagSig
datadata TagInfo

What we know about a runtime value.

Constructors

  • TagDunno

    We don't know anything about the tag.

  • TagTuple [TagInfo]

    An unboxed tuple with taginfo for each element.

  • TagEPT

    An evaluated and properly tagged value. See Note [Evaluated and Properly Tagged].

  • TagBottoming

    Bottom of the domain. See Note [Bottom functions are TagBottoming] in GHC.Stg.EnforceEpt.

Instances3Eq, Outputable, Binary
  • Eq TagInfoDefined in ghc-10.0.0.20260917 · GHC.Stg.EnforceEpt.TagSig
  • Outputable TagInfoDefined in ghc-10.0.0.20260917 · GHC.Stg.EnforceEpt.TagSig
  • Binary TagInfoDefined in ghc-10.0.0.20260917 · GHC.Stg.EnforceEpt.TagSig

Is the given binding known to be properly tagged (or irrelevant, as for unboxed values and bottoming computations)?

Is the given value-level tag known to be properly tagged? NB: unboxed tuples are *not* treated as tagged here; they are handled specially by the rewriter (which considers them already evaluated).