This blog post explains the reasons we integrated an effect system for the Monocle project.
Thanks a lot for publicly writing about it!
Doesn’t ReaderT over IO mean you don’t have the n-squared instances problem?
@adamse Pretty sure you lose all granularity and re-interpretation of effects with
ReaderT r IO a
@adamse, what we observed is that, for example, to use Prometheus or Database.Bloodhound.Client, we had to implement
MonadBH instances. If I understand correctly,
Has* constraints also require an instance for every
r. With effectful, we no longer have to create any instance, so that we can use new effects seamlessly.