Translating from internal syntax to abstract syntax. Enables nice pretty printing of internal syntax.
TODO
- numbers on metas - fake dependent functions to independent functions - meta parameters - shadowing
Documentation
class Reify i a | i -> a whereSource
Reify Literal Expr | |
Reify MetaId Expr | |
Reify ClauseBody RHS | |
Reify Telescope Telescope | |
Reify Sort Expr | |
Reify Type Expr | |
Reify Term Expr | |
Reify DisplayTerm Expr | |
Reify NamedClause Clause | |
Reify Constraint (OutputForm Expr Expr) | |
Reify i a => Reify [i] [a] | |
Reify i a => Reify (Arg i) (Arg a) | |
Reify i a => Reify (Abs i) (Name, a) | |
(Reify i1 a1, Reify i2 a2) => Reify (i1, i2) (a1, a2) | |
(Reify t t', Reify a a') => Reify (Judgement t a) (Judgement t' a') |
reifyDisplayFormP :: LHS -> TCM LHSSource
stripImplicits :: MonadTCM tcm => [NamedArg Pattern] -> [Pattern] -> tcm ([NamedArg Pattern], [Pattern])Source
reifyPatterns :: MonadTCM tcm => Telescope -> Permutation -> [Arg Pattern] -> tcm [NamedArg Pattern]Source