It’s taken ages, but finally the initial release of the effectful library is here
For people unfamiliar with it, it’s an extensible effects library that:
- Is very fast (see benchmarks) when compared to other effect libraries and MTL as it’s internally a ReaderT over IO.
- Has flexible and easy to use API for higher order effects (similar to MonadUnliftIO).
- Fixes subtle issues of popular monad transformers.
- Makes it easy to integrate with the existing ecosystem of libraries.
I started working on it after the
eff effort was stalled due to a few unresolved issues.
Over the years of writing Haskell professionally I got more and more tired of:
- Boilerplate related to mtl style effects (along with complexity of
- Subtle issues of monad transformers that people new to the language were re-encountering over and over again.
unliftio-coresplit that made it not possible to use some libraries together.
effectful (as far as I know) solves these problems.