Conversation

I’ve been working on extending Kitten’s permission system to support algebraic effects in some form. There are many tradeoffs, especially perf vs. generality. It’s easy to implement algebraic effects with first-class continuations if you’re willing to make all plain calls slower.
1
3
A choice I made for performance reasons—namely, avoiding reification of the stack in memory, using traditional register allocation and interleaved data & call stacks—makes it hard to capture & restore. Heap-allocating stack frames makes it easier, but that impacts plain calls.
2
1