An easy to use, fast extensible effects library with seamless integration with the existing Haskell ecosystem. (by haskell-effectful)

Effectful Alternatives

Similar projects and alternatives to effectful

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a better effectful alternative or higher similarity.

effectful reviews and mentions

Posts with mentions or reviews of effectful. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-03-17.
  • Haskell ecosystem questions.
    5 projects | reddit.com/r/haskell | 17 Mar 2023
    cats-effects -> https://github.com/haskell-effectful/effectful
  • Real world applications with tagless-final, ReaderT, and three-layers
    3 projects | reddit.com/r/haskell | 19 Feb 2023
    API for basic usage is very similar, but things quickly go south once you want to use higher order effects (i.e. effects that make use of the m type parameter). A lot of things then become very hard to write due to complex types or outright impossible (this issue is a good example - a reasonable thing to do that is very straightforward to write with effectful, apparently impossible to do with polysemy).
    3 projects | reddit.com/r/haskell | 19 Feb 2023
    FWIW effectful is an improvement in both departments (disclaimer: I'm the author).
  • How to Lose Functional Programming at Work
    2 projects | news.ycombinator.com | 29 Jan 2023
    > Lets say you have a huge overly-convoluted Haskell program. Somewhere deep down a call hierachy of pure functions you need to print something to the console. That is not easy to refactor.

    > Or vice-versa you have a huge convoluted program where everything happens inside an IO monad because at some point something is written to the console. Now you realize you dont need to write to the console.

    These problems are essentially completely resolved these days by a modern effect system like effectful. Basically, they allow you to do arbitrary effects deep down a call stack with minimal plumbing (you still have adjust the types, as you should: that's the point of effect tracking!) and also to remove effects, so you can easily convert between pure code and "effectful code that just so happens to do no effects".


  • Effectful | Paweł Szulc | Lambda Days 2022
    3 projects | reddit.com/r/haskell | 13 Dec 2022
    See also https://github.com/haskell-effectful/effectful/issues/99.
  • Monad transformer libraries
    2 projects | reddit.com/r/haskell | 17 Nov 2022
    FYI, transformers and mtl have several subtle traps. You can read about them here.
  • Comparing ZIO to Haskell effects libraries like Polysemy?
    3 projects | reddit.com/r/scala | 25 Aug 2022
  • Effect Zoo for Scala 3
    4 projects | reddit.com/r/scala | 12 Aug 2022
    Consider 2 Haskell projects: Cleff and Effectful. They both are extensible effect systems, built around ReaderT design pattern. At their core, they use fused ReaderT + IO monad, with extensible environment. This architecture is very similar to ZIO's. All 3 even share the same limitation - inability to express nondeterminism (not very relevant fact, but I just want to emphasize the similarity).
  • [ANN] effectful - an easy to use, performant extensible effects library
    4 projects | reddit.com/r/haskell | 15 Jul 2022
    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.
    4 projects | reddit.com/r/haskell | 15 Jul 2022
    The writeup of the issues with WriterT at https://github.com/haskell-effectful/effectful/blob/master/transformers.md is excellent, I would have much appreciated this 15-ish years back when I was stumbling through those problems and eventually settled on what everyone seems to settle on, which is restricted State. Though the transformers/mtl docs seem much improved from the old days, if they just linked to that description it have made so much clearer to me. The concrete examples with memory use make it very clear.
  • A note from our sponsor - SonarQube
    www.sonarqube.org | 1 Apr 2023
    Your projects are multi-language. So is SonarQube analysis. Find Bugs, Vulnerabilities, Security Hotspots, and Code Smells so you can release quality code every time. Get started analyzing your projects today for free. Learn more →


Basic effectful repo stats
19 days ago
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives