Post #1889577
2026-05-02 18:03 UTC
@zwarich@hachyderm.io hmm. if your notion of “c-like” means a dynamic call stack with no implicit allocation then you can’t get much further than “throw” or “read”/“write” style handlers that either throw away the continuation or return immediately. but if you can have multiple fibers/threads then you should be able to have any sort of handler that needs only a one shot continuation, which I think only practically rules out amb-style effects
Replies (2)
-
@joe@f.duriansoftware.com 2026-05-02 18:08
@zwarich@hachyderm.io perhaps you could even accommodate multi shot continuations within the “C philosophy” so long as there was an explicit library call to allocate and clone a context when needed
-
@zwarich@hachyderm.io 2026-05-07 16:01
@joe@f.duriansoftware.com I guess without having separate stacks or Rust-style monomorphization, shallow generators are much more straightforward to support than full generators? Do you think that the right way to handle error effects is to treat them as values but with an optimized ABI, rather than doing some form of stack unwinding?