Checklist of things I want to clean up in the code that aren't going to be visible to users, just devs:
[ ] (style) Use consistent names for variables across the codebase, e.g. we should decide to always write Pi (nm, a, b) instead of Pi (name, tm1, tm2) or whatever
[x] (docs) Related: document what each of those constructors look like in syntax,
[ ] (docs) Document what effects each module uses and how they interact, e.g. how Eff.Locals feeds all the other environments (semantics, quoting, and pretty-printing)
[ ] (docs) How to add stuff to the syntax (tokens, grammar, elaboration, and data/syntax/semantics, if applicable)
[ ] (code) Remove duplication between rules/Hom.ml and rules/Prog.hml
[ ] (code) Remove duplication of common constructions, like calculating the underlying type of HomLam (currently in the conversion checker, elaborator, quoter, and do_hom_elim), and D.Neu (tp, { hd = D.Borrow lvl; spine = Emp }))
Checklist of things I want to clean up in the code that aren't going to be visible to users, just devs:
Pi (nm, a, b)
instead ofPi (name, tm1, tm2)
or whateverEff.Locals
feeds all the other environments (semantics, quoting, and pretty-printing)D.Neu (tp, { hd = D.Borrow lvl; spine = Emp }))
Debug.print
statements