HORIZON HASKELLDocslts/ghc-10.0.x8fef28d2026-11-02Search packagesCtrl K
Theme: |

GHC 10.0.0.20260917 · lts/ghc-10.0.x · 8fef28d · 2026-11-02

Moduleghc-10.0.0.20260917GHC2024

GHC.Core.Opt.Simplify.Env

Contents
  1. The simplifier mode
  2. Environments
  3. Substitution results
  4. Simplifying Id binders
  5. Floats
  6. LetFloats
  7. JoinFloats
Synopsis

The simplifier mode

datadata SimplMode
#

Constructors

Instances1Outputable

Environments

datadata SimplPhase

See Note [SimplPhase]

Constructors

  • SimplPhase CompilerPhase

    A simplifier phase: InitialPhase, Phase 2, Phase 1, Phase 0, FinalPhase NB: (SimplPhase p) is equivalent to (SimplPhaseRange p p)

  • SimplPhaseRange CompilerPhase CompilerPhase

    Simplifying the RHS of a rule or of a stable unfolding: the range of phases of the activation of the rule/stable unfolding.

    _Invariant:_ simplStartPhase is not a later phase than simplEndPhase. Equivalently, SimplPhaseRange is always a non-empty interval of phases.

    See Note [What is active in the RHS of a RULE or unfolding?] in GHC.Core.Opt.Simplify.Utils.

Instances2Eq, Outputable

Is this activation active in this simplifier phase?

For a phase range, isActive simpl_phase_range act is true if and only if act is active throughout the entire range, as per Note [What is active in the RHS of a RULE or unfolding?] in GHC.Core.Opt.Simplify.Utils.

See Note [SimplPhase].

Substitution results

Simplifying Id binders

Floats

LetFloats

JoinFloats