dreaming of a language with dependent records as modules (like in 1ML, but full spectrum dependent types), multistage stage programming, linearity, erasure, and effects+handlers that can be inlined or compiled to capability passing style (could be handy for custom allocators)
Conversation
Any pointers on “capability passing style”?
1
It's where you pass resources as parameters to functions.
- Effekt compiles its handlers to this style: effekt-lang.org
- Zig also uses this approach for passing allocators: ziglang.org/documentation/
- There's also this version of the Rust std lib: github.com/bytecodeallian
1
A big motivation for this is that in systems programming you can't afford to build up an intermediate, reified version of an effect only to tear it down later. One way around that could be capability passing, and it could be augmented with inlining perhaps.

