Effects on their own are a very active area of research and I would laugh behind a PL researchers back if they claimed it was a solved issue. Between Monads, call-by-push-value, and algebraic effects there is really no clear "how do people actually use this" answer.
But that's not the job of a PL researcher anyway, or a random software engineer for that matter. Sorry to say, the software engineer knows next to nothing about "the right way" to design language features that people want to use or enjoy using. If anything this should be an HCI person with a penchant for PL or vice versa.
I can actually say that I used algebraic effects in my thesis for the section on semantics of a basic probabilistic programming language. It avoided talking about monads for my committee member who cared and honestly made for an easier implementation.
I’ve heard opinions from smart people with lots of experience who say algebraic effects are not worth the squeeze. I’ve also heard some say that we should all be pushing the boundaries: they are the future.
So the matter doesn’t seem to be decided. Now isn’t the time for maxims.
smitty1e•2h ago
For those missing the reference:
https://youtu.be/qeMFqkcPYcg?si=at-YtggekbPdv7sN