Comment by mratsim
1 year ago
The coloring of go functions is actually seen in the FFI. Go functions have a special calling convention so FFI is annoying.
This is similar to Cilk back in 1995 with their continuation-stealing work-stealing scheduler. The C++ committee made an in-depth review of fibers (stackful coroutines that install their own stack).
Regarding scheme, the issue is that they have multishot undelimited continuations, which let to several debates. Delimited continuations are enough to express everything but non-determinism (which causes the lifetime issues, i.e. you can enter a room once and exit twice), in practice you allow continuations to be moved (on different executors like a state machine, threadpool or actors) but not copied.
Cilk: http://supertech.csail.mit.edu/papers/PPoPP95.pdf
Fibers under magnifying glass: https://open-std.org/jtc1/sc22/wg21/docs/papers/2018/p1364r0...
on Scheme undelimited continuations: https://okmij.org/ftp/continuations/against-callcc.html#dyna...
In general, I've collected experiments and criticisms from many many language on continuations, coroutines, fibers, cancellation here: https://github.com/mratsim/weave-io-research/blob/master/res...
No comments yet
Contribute on Hacker News ↗