4 ms·
Koka currently uses the same approach that it does for compiling to C. It essentially does a very efficient low level monadic translation of a delimited control
by whitim 3y ago
Koka currently uses the same approach that it does for compiling to C. It essentially does a very efficient low level monadic translation of a delimited control monad. So basically it all just ends up as a tiny bit of thread local state, and building up continuations on returns from functions if they are yielding.
See this paper for details, it gives a good high level overview before diving into the nitty gritty: https://www.microsoft.com/en-us/research/publication/generalized-evidence-passing-for-effect-handlers-or-efficient-compilation-of-effect-handlers-to-c/ https://www.microsoft.com/en-us/research/publication/general...
- gpderetta 3y agoThanks, I'm quite interested in this, so I'll certainly give the paper a read!