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
i.e., an effect is an interface, a carrier is an implementation of one or more of those interfaces, and you install a particular carrier into TLS before executing the code that uses the effect.
1
1
Show replies
Replying to
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
Show replies