Hoogle Search
Within LTS Haskell 24.38 (ghc-9.10.3)
Note that Stackage only displays results for the latest LTS and Nightly snapshot. Learn more.
ParPat :: XParPat p -> LPat p -> Pat pghc GHC.Hs.Pat Parenthesised pattern See Note [Parens in HsSyn] in GHC.Hs.Expr ^ - AnnKeywordId : AnnOpen '(', AnnClose ')'
-
ghc GHC.Hs.Pat Pattern
PrefixCon :: [tyarg] -> [arg] -> HsConDetails tyarg arg recghc GHC.Hs.Type No documentation available.
module GHC.HsToCore.Errors.
Ppr No documentation available.
module GHC.HsToCore.Foreign.
Prim Foreign primitive calls This is for `foreign import prim' declarations. Currently, at the core level we pretend that these primitive calls are foreign calls. It may make more sense in future to have them as a distinct kind of Id, or perhaps to bundle them with PrimOps since semantically and for calling convention they are really prim ops.
-
This module coverage checks pattern matches. It finds
- Uncovered patterns, certifying non-exhaustivity
- Redundant equations
- Equations with an inaccessible right-hand-side
- Desugar source syntax (like LMatch) to guard tree variants (like GrdMatch), with one of the desugaring functions (like desugarMatch). See GHC.HsToCore.Pmc.Desugar. Follows Section 3.1 in the paper.
- Coverage check guard trees (with a function like checkMatch) to get a CheckResult. See GHC.HsToCore.Pmc.Check. The normalised refinement types Nabla are tested for inhabitants by GHC.HsToCore.Pmc.Solver.
- Collect redundancy information into a CIRB with a function such as cirbsMatch. Follows the R function from Figure 6 of the paper.
- Format and report uncovered patterns and redundant equations (CIRB) with formatReportWarnings. Basically job of the G function, plus proper pretty printing of the warnings (Section 5.4 of the paper).
- Return Nablas reaching syntactic sub-components for Note [Long-distance information]. Collected by functions such as ldiMatch. See Section 4.1 of the paper.
-
Provides facilities for pretty-printing Nablas in a way appropriate for user facing pattern match warnings.
-
ghc GHC.HsToCore.Pmc.Solver PhiBotCt x encodes "x ~ ⊥", equating x to ⊥. by K.
PhiConCt :: Id -> PmAltCon -> [TyVar] -> [PredType] -> [Id] -> PhiCtghc GHC.HsToCore.Pmc.Solver PhiConCt x K tvs dicts ys encodes K @tvs dicts ys <- x, matching x against the PmAltCon application K @tvs dicts ys, binding tvs, dicts and possibly unlifted fields ys in the process. See Note [Strict fields and variables of unlifted type].
PhiCoreCt :: Id -> CoreExpr -> PhiCtghc GHC.HsToCore.Pmc.Solver PhiCoreCt x e encodes "x ~ e", equating x with the CoreExpr e.