/eff.go

One-shot algebraic effects for Golang

Primary LanguageGoMIT LicenseMIT

Eff.go

ONE-SHOT Algebiraic Effects for Golang!

One-shot algebraic effects

You can access the delimited continuation which can run only once. Even the limitation exists, you can write powerful control flow manipulation, like async/await, call/1cc. We have an formal definition for the implementation, by showing a conversion from algebraic effects and handlers to asymmetric coroutines. See here (in Japanese).