| Safe Haskell | Ignore |
|---|---|
| Language | Haskell2010 |
GHC.HsToCore.Pmc.Check
Description
Coverage checking step of the Lower Your Guards paper.
Coverage check guard trees (like ) to get a
PmMatch PreCheckResult, containing
- The set of uncovered values,
cr_uncov - And an annotated tree variant (like
) that captures redundancy and inaccessibility information asPmMatchPostRedSetsannotations
Basically the UA function from Section 5.1, which is an optimised
interleaving of U and A from Section 3.2 (Figure 5).
The Normalised Refinement Types Nablas are maintained in
GHC.HsToCore.Pmc.Solver.
Synopsis
- newtype CheckAction a = CA {
- unCA :: Nablas -> DsM (CheckResult a)
- checkMatchGroup :: PmMatchGroup Pre -> CheckAction (PmMatchGroup Post)
- checkGRHSs :: PmGRHSs Pre -> CheckAction (PmGRHSs Post)
- checkPatBind :: PmPatBind Pre -> CheckAction (PmPatBind Post)
- checkEmptyCase :: PmEmptyCase -> CheckAction PmEmptyCase
Documentation
newtype CheckAction a Source #
Coverage checking action. Can be composed leftToRight or topToBottom.
Constructors
| CA | |
Fields
| |
Instances
| Functor CheckAction Source # | |
Defined in GHC.HsToCore.Pmc.Check Methods fmap :: (a -> b) -> CheckAction a -> CheckAction b # (<$) :: a -> CheckAction b -> CheckAction a # | |
checkGRHSs :: PmGRHSs Pre -> CheckAction (PmGRHSs Post) Source #
checkPatBind :: PmPatBind Pre -> CheckAction (PmPatBind Post) Source #