The extensible effects library and the layers library appear to have the same goals (making it easy to compose different effects together). Both talk about the advantages they offer over mtl, but neither makes reference to the other. Can both accomplish the same thing? Does one subsume the other? Does each have some feature that the other lacks?
While I'm in no way experienced with any of those, it's quite straighforward from the articles.
While layers are rather building upon MTL, exteff is a wholly different approach. exteff defines one monad that contains information about its effects in its type. exteff claims to solve the problem of monad ordering, i.e. if monads A and B are interchangable, the classic approach would make A (B a) and B (A a) different types. In exteff they're the same.
From the interface of layers it seems that it didn't solve that problem.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With