Coroutines and effect handlers are isomorphic to each other and can model various effects. Coroutines yield control back to the caller, while effectful expressions yield control to their handler. Coroutines are statically typed, lexically scoped, and unlayered, making them a promising way to handle effects in programming languages.
Sort: