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.Patterns.Match

Pattern matcher used in the reducer for clauses that have not been compiled to case trees yet.

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

If matching is inconclusive (DontKnow) we want to know whether it is on a lazy pattern and whether it is due to a particular meta variable.

Instances4Functor, Semigroup, Monoid, Null
  • Functor MatchDefined in Agda-2.7.0.1 · Agda.TypeChecking.Patterns.Match
  • Semigroup (Match a)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Patterns.Match
  • Monoid (Match a)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Patterns.Match
  • Null (Match a)Defined in Agda-2.7.0.1 · Agda.TypeChecking.Patterns.Match
datadata OnlyLazy
#

Whether the inconclusive matches are only on lazy patterns.

Instances2Semigroup, Monoid

matchCopatterns ps es matches spine es against copattern spine ps.

Returns Yes and a substitution for the pattern variables (in form of IntMap Term) if matching was successful.

Returns No if there was a constructor or projection mismatch.

Returns DontKnow if an argument could not be evaluated to constructor form because of a blocking meta variable.

In any case, also returns spine es in reduced form (with all the weak head reductions performed that were necessary to come to a decision).