Conversation

If you see that, this definition might help: Staging is partial evaluation _minus_ binding-time analysis: instead of letting inference _guess_ what is static and what is dynamic, and tweaking the program till the result is right, you drop the inference and use types.
3
5
Somewhat unusually, there seems to be consensus that staging beats inference; so much so that Scala 3's macro system/inliner/optimizer is actually based on a novel variation of staging.
1
3
thank you so much for the references, I'm starting to research metaprogramming (from a DTT point of view) and those references is going to unbiase me 🙌🏽
2
1
Yeah, I'd love to see this somehow combined with stuff like levitated datatypes at some stage (as in The Gentle Art of Levitation)… I think that could be really cool.
1
I'm sure I forgot 90% of the answer, but a key question is "how much staging" — everybody implements their universe construction and well-formed expressions (Type T and Exp T), but how much of the language do you want to cover?
3
1