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

Agda.Interaction.MakeCase

Synopsis

- findClause :: MetaId -> TCM (QName, Clause)
- makeCase :: InteractionId -> Range -> String -> TCM [Clause]
- makeAbsurdClause :: QName -> SplitClause -> TCM Clause
- makeAbstractClause :: QName -> SplitClause -> TCM Clause
- deBruijnIndex :: Expr -> TCM Nat

# Documentation

findClause :: MetaId -> TCM (QName, Clause)

Find the clause whose right hand side is the given meta BY SEARCHING THE WHOLE SIGNATURE. Returns the original clause, before record patterns have been translated away. Raises an error if there is no matching clause.

Andreas, 2010-09-21: This looks like a SUPER UGLY HACK to me. You are walking through the WHOLE signature to find an information you have thrown away earlier. (shutter with disgust). This code fails for record rhs because they have been eta-expanded, so the MVar is gone.

makeCase :: InteractionId -> Range -> String -> TCM [Clause]

makeAbsurdClause :: QName -> SplitClause -> TCM Clause

makeAbstractClause :: QName -> SplitClause -> TCM Clause

deBruijnIndex :: Expr -> TCM Nat