Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Coverage checking step of the Lower Your Guards paper.
Coverage check guard trees (like
) to get a
PmMatch
Pre
CheckResult
, containing
- The set of uncovered values,
cr_uncov
- And an annotated tree variant (like
) that captures redundancy and inaccessibility information asPmMatch
Post
RedSets
annotations
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
.
CA | |
|
Instances
Functor CheckAction Source # | |
Defined in GHC.HsToCore.Pmc.Check fmap :: (a -> b) -> CheckAction a -> CheckAction b Source # (<$) :: a -> CheckAction b -> CheckAction a Source # |
checkGRHSs :: PmGRHSs Pre -> CheckAction (PmGRHSs Post) Source #
checkPatBind :: PmPatBind Pre -> CheckAction (PmPatBind Post) Source #