Safe Haskell | None |
---|---|
Language | Haskell2010 |
Synopsis
- type CandPlugin = TypedHole -> [HoleFitCandidate] -> TcM [HoleFitCandidate]
- type FitPlugin = TypedHole -> [HoleFit] -> TcM [HoleFit]
- data HoleFitPlugin = HoleFitPlugin {}
- data HoleFitPluginR = HoleFitPluginR {
- hfPluginInit :: TcM (TcRef s)
- hfPluginRun :: TcRef s -> HoleFitPlugin
- hfPluginStop :: TcRef s -> TcM ()
Documentation
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.
HoleFitPluginR | |
|