HORIZON HASKELLDocslts/ghc-9.14.x45dd5372026-10-11Search names, modules, packages, or :: a typeCtrl K

GHC 9.14.1 · lts/ghc-9.14.x · 45dd537 · 2026-10-11

ModuleAgda-2.8.0.2Haskell2010

Agda.TypeChecking.Patterns.Match

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

  • 3 types
  • 15 values
  • PackageAgda-2.8.0.2
  • Exports18
  • 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.8.0.2 · Agda.TypeChecking.Patterns.Match
  • Semigroup (Match a)Defined in Agda-2.8.0.2 · Agda.TypeChecking.Patterns.Match
  • Monoid (Match a)Defined in Agda-2.8.0.2 · Agda.TypeChecking.Patterns.Match
  • Null (Match a)Defined in Agda-2.8.0.2 · 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).