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.Rules.LHS

  • 2 types
  • 1 class
  • 3 values
  • PackageAgda-2.7.0.1
  • Exports6
  • LanguageHaskell2010
  • LicenceMIT
  • SourceLHS.hs
valuecheckLeftHandSide
  1. :: Call

    Trace, e.g. CheckLHS or CheckPattern.

  2. -> Range

    Range of the entire left hand side, for error reporting.

  3. -> Maybe QName

    The name of the definition we are checking.

  4. -> [NamedArg Pattern]

    The patterns.

  5. -> Type

    The expected type a = Γ → b.

  6. -> Maybe Substitution

    Module parameter substitution from with-abstraction.

  7. -> [ProblemEq]

    Patterns that have been stripped away by with-desugaring. ^ These should not contain any proper matches.

  8. -> (LHSResult -> TCM a)

    Continuation.

  9. -> TCM a
#

Check a LHS. Main function.

checkLeftHandSide a ps a ret checks that user patterns ps eliminate the type a of the defined function, and calls continuation ret if successful.

datadata LHSResult
#

Result of checking the LHS of a clause.

Constructors

Instances1InstantiateFull
classclass IsFlexiblePattern a where
#

A pattern is flexible if it is dotted or implicit, or a record pattern with only flexible subpatterns.

Instances5IsFlexiblePattern