I’ve been working for several weeks on Yet Another Haskell Effect System. In this model, effects are literally just typeclasses! I’ve been using this `Can` constraint to make things feel a little more like other effect systems, but I’m starting to wonder if it’s actually useful.
Conversation
Hey, have you checked out polysemy library (hackage.haskell.org/package/polyse)? It has similar(not exactly mean same) type notation to express effects. :)
1
I have! polysemy is closely related to the freer family of libraries, which provides a `Member` constraint. My library, however, is much faster. :)
2
5
Sounds really cool! How does it compare to fused-effects?
1
It’s simpler and slightly faster but slightly less expressive (though not in ways I personally find important). Otherwise there are a lot of similarities… it’s heavily inspired by fused-effects, but it reformulates a lot of the concepts to better cooperate with the optimizer.
2
1
Cool, sounds exciting! So nice to see all this clever work happening! 🙂
It’s amazing how many individuals have contributed work to make these libraries possible— and have both been invaluable in helping me understand this stuff, and fused-effects in turn is based on work from dozens of people. The authors list is getting long!
5


