Eff is built around a powerful uniform representation of effects,
which allows you to
seamlessly combine effects (no
dos, no monad transformers),
override existing effects
and define your own effects.
Eff infers not only the type of the result, but also the set of all effects that may happen when computing it. To boot, handlers allow you to change an effectful computation into one bound to be pure.
Eff was built to test the mathematical ideas of algebraic effects in practice. Thus, every new feature of Eff is backed by peer-reviewed research.
The best place to start is to try the online version of Eff, which also comes with a few examples that show the main features of Eff. Then, to learn more about the theoretical background, you can read An Introduction to Algebraic Effects and Handlers. When you are ready to get your hands dirty, download the source code, which is freely available on Github.
If you want to know more about the theory, take a look at: