HORIZON HASKELLDocslts/ghc-9.10.x248f8f02026-10-05Search names, modules, packages, or :: a typeCtrl K

GHC 9.10.3 · lts/ghc-9.10.x · 248f8f0 · 2026-10-05

ModuleAgda-2.7.0.1Haskell2010

Agda.TypeChecking.CompiledClause

Case trees.

After coverage checking, pattern matching is translated to case trees, i.e., a tree of successive case splits on one variable at a time.

  • 4 types
  • 9 values
  • PackageAgda-2.7.0.1
  • Exports13
  • LanguageHaskell2010
  • LicenceMIT
  • SourceCompiledClause.hs
datadata WithArity c
#

Constructors

Instances17Functor, Foldable, Traversable, Show, Generic, Semigroup, …
datadata Case c
#

Branches in a case tree.

Constructors

Instances18Functor, Foldable, Traversable, Show, Generic, Semigroup, …
datadata CompiledClauses' a
#

Case tree with bodies.

Constructors

  • Case (Arg Int) (Case (CompiledClauses' a))

    Case n bs stands for a match on the n-th argument (counting from zero) with bs as the case branches. If the n-th argument is a projection, we have only conBranches with arity 0.

  • Done [Arg ArgName] a

    Done xs b stands for the body b where the xs contains hiding and name suggestions for the free variables. This is needed to build lambdas on the right hand side for partial applications which can still reduce.

  • Fail [Arg ArgName]

    Absurd case. Add the free variables here as well so we can build correct number of lambdas for strict backends. (#4280)

Instances17Functor, Foldable, Traversable, Pretty, KillRange, NamesIn, …
valuecheckLazyMatch :: Case c -> Case c
#

Check that the requirements on lazy matching (single inductive case) are met, and set lazy to False otherwise.

Pretty instances.

1 declaration

KillRange instances.

0 declarations

TermLike instances

0 declarations