ghc-8.10.2: The GHC API
Safe HaskellNone
LanguageHaskell2010

TcHoleFitTypes

Synopsis

Documentation

data TypedHole Source #

Constructors

TyH 

Fields

Instances

Instances details
Outputable TypedHole Source # 
Instance details

Defined in TcHoleFitTypes

data HoleFit Source #

HoleFit is the type we use for valid hole fits. It contains the element that was checked, the Id of that element as found by tcLookup, and the refinement level of the fit, which is the number of extra argument holes that this fit uses (e.g. if hfRefLvl is 2, the fit is for `Id _ _`).

Constructors

HoleFit 

Fields

RawHoleFit SDoc

A fit that is just displayed as is. Here so thatHoleFitPlugins can inject any fit they want.

Instances

Instances details
Eq HoleFit Source # 
Instance details

Defined in TcHoleFitTypes

Methods

(==) :: HoleFit -> HoleFit -> Bool #

(/=) :: HoleFit -> HoleFit -> Bool #

Ord HoleFit Source # 
Instance details

Defined in TcHoleFitTypes

Outputable HoleFit Source # 
Instance details

Defined in TcHoleFitTypes

type CandPlugin = TypedHole -> [HoleFitCandidate] -> TcM [HoleFitCandidate] Source #

A plugin for modifying the candidate hole fits *before* they're checked.

type FitPlugin = TypedHole -> [HoleFit] -> TcM [HoleFit] Source #

A plugin for modifying hole fits *after* they've been found.

data HoleFitPlugin Source #

A HoleFitPlugin is a pair of candidate and fit plugins.

data HoleFitPluginR Source #

HoleFitPluginR adds a TcRef to hole fit plugins so that plugins can track internal state. Note the existential quantification, ensuring that the state cannot be modified from outside the plugin.

Constructors

forall s. HoleFitPluginR 

Fields