Conversation

You’re unable to view this Tweet because this account owner limits who can view their Tweets. Learn more
I think my undergrad thesis has some good stuff mixed in with some cringey stuff, so it's available publicly but not publicised anywhere. There is one nice technique I invented that I haven't seen anywhere else though..
1
3
(Basically, the technique is, if you're formalising some algorithmic rules like a constraint generator or elaboration rules that rely on generating "fresh" unification variables, don't do that. Put an actual binder for the variable into the structure of your output and then...
2
6
shift the binders up as far as possible. The shifting can handle the de bruijn shifting or whatever is needed to make sure the names stay unique thus guaranteeing "fresh"ness)
2
3
Yes: Sixty does NbE with De Bruijn indices in the syntax and fresh vars in the domain to avoid shifting during pattern matching elaboration, which can make modifications to the middle of the context. But I guess implementations might have different tradeoffs than formalisations.
1
1