HORIZON HASKELLDocslts/ghc-9.10.xc74966e2026-09-27Search names, modules, packages, or :: a typeCtrl K

GHC 9.10.3 · lts/ghc-9.10.x · c74966e · 2026-09-27

ModuleAgda-2.7.0.1Haskell2010

Agda.TypeChecking.Coverage.Match

Given

  1. the function clauses cs

  2. the patterns ps of the split clause

we want to compute a variable index (in the split clause) to split on next.

The matcher here checks whether the split clause is covered by one of the given clauses cs or whether further splitting is needed (and when yes, where).

  • 7 types
  • 9 values
  • PackageAgda-2.7.0.1
  • Exports16
  • LanguageHaskell2010
  • LicenceMIT
  • SourceMatch.hs
datadata Match a
#

If matching is inconclusive (Block) we want to know which variables or projections are blocking the match.

Constructors

Instances1Functor
  • Functor MatchDefined in Agda-2.7.0.1 · Agda.TypeChecking.Coverage.Match
valuematch
  1. :: PureTCM m
  2. => [Clause]

    Search for clause that covers the patterns.

  3. -> [NamedArg SplitPattern]

    Patterns of the current SplitClause.

  4. -> m (Match (Nat, SplitInstantiation))
#

Match the given patterns against a list of clauses.

If successful, return the index of the covering clause.

datadata SplitPatVar
#

For each variable in the patterns of a split clause, we remember the de Bruijn-index and the literals excluded by previous matches.

Instances6Show, Pretty, DeBruijn, Subst, PrettyTCM, SubstArg
datadata BlockingVar
#

Variable blocking a match.

Constructors

Instances2Show, Pretty