Conversation

This leads to an annoying cycle of features however. If effects need to be reified as data, then will yielding effects also require effects? 😳 There are ways to optimise away handlers using inlining and fusion, but this goes to a more fundamental level I think? 2/3
1
It isn’t a dual notion, more a dual implementation strategy. Coproduct of effect data interpreted by product of handlers is not central to algebraic effects, just implementation detail. Fusion for Free does exactly what you describe here, for instance.
1
2
Even stuff like shadowing, handling in- or out-of-order isn’t universal, so IMO you’ve got a lot of freedom. Leijen’s C implementations of handlers come to mind for example.
1
1
Show replies