Conversation

Mind is getting blown by multi-stage programming! Does anyone know of any simple examples of it being used as a way of doing offline partial evaluation in compilation? Most of the stuff I see is for run-time code generation. 🤔
3
4
I think there is some correspondence, but I don't know. The annoying thing about full spectrum dependent types is that you lose the phase information that is present in traditional languages, so it's hard to compile things like type parameters and constant parameters efficiently.
2
Languages like D, C++ and Zig, Rust etc. get around this with constexpr and monomorphized type parameters, but it always seems rather tacked-on, and you can't seem to get the full expressiveness of dependent types then if you ever need that.
2