effectful VS unliftio

Compare effectful vs unliftio and see what are their differences.

effectful

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

unliftio

The MonadUnliftIO typeclass for unlifting monads to IO (by fpco)
Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
effectful unliftio
21 5
329 150
5.8% 0.0%
8.0 3.9
8 days ago 3 months ago
Haskell Haskell
BSD 3-clause "New" or "Revised" License GNU General Public License v3.0 or later
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

effectful

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-05-03.

unliftio

Posts with mentions or reviews of unliftio. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2022-10-14.
  • UnliftIO, ExceptT and Coercible
    1 project | /r/haskell | 18 Feb 2023
    FWIW, your suggestion is very similar to a proposed instance for MonadUnliftIO (ExceptT e), except that effectfuls use of the type system means that it doesn't suffer from one of the proposed downsides (dubious interaction with catchAny).
  • How introduce `ResourceT` into my stack
    3 projects | /r/haskell | 14 Oct 2022
    Possibly interesting thread here: https://github.com/fpco/unliftio/issues/68
  • Is `MonadBaseControl` dead?
    3 projects | /r/haskell | 21 Jun 2021
    Any way quoting u/snoyberg : https://github.com/fpco/unliftio/issues/17#issuecomment-363655106
  • Try.do is dangerous
    2 projects | /r/haskell | 23 Dec 2020
    That's not true. It's just writing that instance is a bit tricky: https://github.com/fpco/unliftio/issues/68
  • Try.do for recoverable errors in Haskell
    1 project | /r/haskell | 21 Dec 2020
    However, ExceptT cannot be an instance of MonadUnliftIO – because it necessarily requires multiple exit points. See this discussion which should give you an idea of how hairy and unpredictable this can be.

What are some alternatives?

When comparing effectful and unliftio you can also consider the following projects:

godot-haskell - Haskell bindings for GdNative

recursion-schemes - Generalized bananas, lenses and barbed wire

cleff - Fast and concise extensible effects

lifted-base - IO operations from the base library lifted to any instance of MonadBase or MonadBaseControl

ghc-proposals - Proposed compiler and language changes for GHC and GHC/Haskell

mmorph - Monad morphisms

hpqtypes-effectful - Effectful bindings for hpqtypes

Workflow - re-startable monad that recover the execution state from a log, and workflow patterns

PolysemyCleanArchitecture - Showcasing how the Polysemy library can be used to implement a REST application conforming to the guidelines of the Clean Architecture model.

managed - A monad for managed values

effect-zoo - Effect Zoo for Scala

exceptional - A simple Haskell type for pure code that could go wrong.