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.

  1. ParPat :: XParPat p -> LPat p -> Pat p

    ghc GHC.Hs.Pat

    Parenthesised pattern See Note [Parens in HsSyn] in GHC.Hs.Expr ^ - AnnKeywordId : AnnOpen '(', AnnClose ')'

  2. data Pat p

    ghc GHC.Hs.Pat

    Pattern

  3. PrefixCon :: [tyarg] -> [arg] -> HsConDetails tyarg arg rec

    ghc GHC.Hs.Type

    No documentation available.

  4. module GHC.HsToCore.Errors.Ppr

    No documentation available.

  5. 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.

  6. module GHC.HsToCore.Pmc

    This module coverage checks pattern matches. It finds

    • Uncovered patterns, certifying non-exhaustivity
    • Redundant equations
    • Equations with an inaccessible right-hand-side
    The algorithm is based on the paper Lower Your Guards: A Compositional Pattern-Match Coverage Checker" There is an overview Figure 2 in there that's probably helpful. Here is an overview of how it's implemented, which follows the structure of the entry points such as pmcMatches:
    1. 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.
    2. 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.
    3. Collect redundancy information into a CIRB with a function such as cirbsMatch. Follows the R function from Figure 6 of the paper.
    4. 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).
    5. Return Nablas reaching syntactic sub-components for Note [Long-distance information]. Collected by functions such as ldiMatch. See Section 4.1 of the paper.

  7. module GHC.HsToCore.Pmc.Ppr

    Provides facilities for pretty-printing Nablas in a way appropriate for user facing pattern match warnings.

  8. PhiBotCt :: Id -> PhiCt

    ghc GHC.HsToCore.Pmc.Solver

    PhiBotCt x encodes "x ~ ⊥", equating x to ⊥. by K.

  9. PhiConCt :: Id -> PmAltCon -> [TyVar] -> [PredType] -> [Id] -> PhiCt

    ghc 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].

  10. PhiCoreCt :: Id -> CoreExpr -> PhiCt

    ghc GHC.HsToCore.Pmc.Solver

    PhiCoreCt x e encodes "x ~ e", equating x with the CoreExpr e.

Page 127 of many | Previous | Next