Equations
- SExp.mapOp f (SExp.var n) = SExp.var n
- SExp.mapOp f (SExp.op o es) = SExp.op (f o) fun (i : Fin arity) => SExp.mapOp f (es i)
Instances For
Equations
- SExp.mapVar f (SExp.var n) = SExp.var (f n)
- SExp.mapVar f (SExp.op o es) = SExp.op o fun (i : Fin arity) => SExp.mapVar f (es i)
Instances For
def
SExp.bindOp
{O : Type u_1}
{O' : Type u_2}
{N : Type u_3}
(interpOp : O → {arity : ℕ} → (Fin arity → SExp O' N) → SExp O' N)
:
Equations
- SExp.bindOp interpOp (SExp.var n) = SExp.var n
- SExp.bindOp interpOp (SExp.op o es) = interpOp o fun (i : Fin arity) => SExp.bindOp interpOp (es i)
Instances For
Equations
- SExp.bindVar interpVar (SExp.var n) = interpVar n
- SExp.bindVar interpVar (SExp.op o es) = SExp.op o fun (i : Fin arity) => SExp.bindVar interpVar (es i)
Instances For
Equations
- SExpL.Kind.toSExp O N SExpL.Kind.sexp = SExp O N
- SExpL.Kind.toSExp O N SExpL.Kind.list = List (SExp O N)