Safe Haskell | Safe-Infered |
---|
Agda.Interaction.MakeCase
- data CaseContext
- findClause :: MetaId -> TCM (CaseContext, QName, Clause)
- makeCase :: InteractionId -> Range -> String -> TCM (CaseContext, [Clause])
- makeAbsurdClause :: QName -> SplitClause -> TCM Clause
- makeAbstractClause :: QName -> SplitClause -> TCM Clause
- deBruijnIndex :: Expr -> TCM Nat
Documentation
findClause :: MetaId -> TCM (CaseContext, 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 (CaseContext, [Clause])
makeAbsurdClause :: QName -> SplitClause -> TCM Clause
makeAbstractClause :: QName -> SplitClause -> TCM Clause
deBruijnIndex :: Expr -> TCM Nat