ghc-9.13: The GHC API
Safe HaskellNone
LanguageGHC2021

GHC.HsToCore.Types

Description

Various types used during desugaring.

Synopsis

Documentation

type DsM = TcRnIf DsGblEnv DsLclEnv Source #

Desugaring monad. See also TcM.

data DsLclEnv Source #

Local state of the desugarer, extended as we lexically descend

Constructors

DsLclEnv 

Fields

  • dsl_meta :: DsMetaEnv

    Template Haskell bindings

  • dsl_loc :: RealSrcSpan

    To put in pattern-matching error msgs

  • dsl_nablas :: Nablas

    See Note [Long-distance information] in GHC.HsToCore.Pmc. The set of reaching values Nablas is augmented as we walk inwards, refined through each pattern match in turn

  • dsl_unspecables :: Maybe VarSet

    See Note [Desugaring non-canonical evidence] This field collects all un-specialisable evidence variables in scope. Nothing = don't collect this info (used for the LHS of Rules)

data DsGblEnv Source #

Global read-only context and state of the desugarer. The statefulness is implemented through IORefs.