Multi-Stage Programming with Splice Variables

34 matt_d 4 6/27/2025, 11:45:03 PM tsung-ju.org ↗

Comments (4)

kldx · 3h ago
> For example, instead of a power function that uses a loop, you could generate specialized code like x * x * x * x * x directly. This eliminates runtime overhead and creates highly optimized code.

Could anyone explain to me how this is different from templates or parameter pack expansion in C++? I can see the constexpr-ness here is encoded in the type system and appears more composable, but I am not sure if I am missing the point.

I looked at the paper but I can't find anything related to C++.

perihelions · 2h ago
How is this different from a syntactic macro?
burakemir · 1h ago
Two big differences:

  - it is typed, and

  - multi-stage programming can also describe runtime-code generation.
TimorousBestie · 5h ago
This is fascinating. I could see it being very useful for writing SIMD abstraction layers (like Highway or SIMDe) without so much of the cruft.