Do you want to define syntax with binders in Agda but have no idea whether to use de Bruijn indices, nominal sets, HOAS, or yet something else?
Well then, good news! I have a new blog post for you: https://jesper.sikanda.be/posts/1001-syntax-representations.html…
Super great overview, thanks for this! I'm still pretty happy with defunctionalized NbE (with indices in terms and levels in values). Makes implementation much easier, and is good for performance, but I dunno how it fares for formalization work.
The reason I mention it is that I wasted a lot of time with trying to use locally nameless, but it turns out NbE makes things so much easier when implementing type systems! I dunno if it would fit into your post anywhere though. 😅
Yeah I'm not too clear on the details either. NbE is weird because it involves syntax and semantics. I think on the syntax side you can use de Bruijn indices, although NbE is not really tied to that. Indices can be good for performance though (in implementations that is).