In-reply-to » I wish that this experimental Capture Checking feature in scala 3 were available in the official distribution so that I could play with it in a project i'm working on now.

and all of that to protect yourself from the possibility of leaking a resource? A little programming discipline can achieve the same!

Anyhow, I’m interested in algebraic effects because they look a little more natural to me. You can sorta kinda write code the way you want, and then supply “handlers” for the effects like I/O or database access or whatever. Which is a not-unreasonable way to structure things anyway. And the compiler barks at you with helpful errors like “you’re not handling effect Foo” instead of “there is no implicit view from FooMonad to Option” that make little sense unless you’ve already stewed your brain in monads.

⤋ Read More