Agda-2.2.8: A dependently typed functional programming language and proof assistant

Agda.TypeChecking.Coverage.Match

Synopsis

Documentation

data MPat Source

We use a special representation of the patterns we're trying to match against a clause. In particular we want to keep track of which variables are blocking a match.

data Match a Source

If matching is inconclusive (Block) we want to know which variable is blocking the match. If a dot pattern is blocking a match we're screwed.

Constructors

Yes a 
No 
Block (Maybe Nat) 

Instances

choice :: Match a -> Match a -> Match aSource

match :: [Clause] -> [Arg Pattern] -> Permutation -> Match NatSource

Match the given patterns against a list of clauses

matchLits :: Clause -> [Arg Pattern] -> Permutation -> BoolSource

Check if a clause could match given generously chosen literals