cleff
fused-effects
Our great sponsors
cleff | fused-effects | |
---|---|---|
5 | 3 | |
102 | 633 | |
- | 0.2% | |
0.0 | 4.5 | |
11 months ago | about 1 month ago | |
Haskell | Haskell | |
BSD 3-clause "New" or "Revised" License | BSD 3-clause "New" or "Revised" License |
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.
cleff
-
Implicit parameters vs ReaderT
I ended up using a different approach to guiding inference in my project, but I still thought the IP way was cool
- Comparing ZIO to Haskell effects libraries like Polysemy?
-
Effect Zoo for Scala 3
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
cleff and effectful are very similar, to the point that I offered to join forces (for the record, majority of the conversation refers to things that are no longer true for both libraries as we inspired each other to fix most quirks :). The main difference is the internal environment - in effectful it's mutable, while in cleff it's immutable. All differences pretty much grow from this. The main ones:
-
[ANN] cleff - fast and consise extensible effects
I'm pleased to announce cleff, a new extensible effects library for Haskell: https://github.com/re-xyr/cleff.
fused-effects
-
Where's more discussion of the designs of effect systems?
Languages such as Koka only support algebraic effects, not scoping operations such as catch and listen. The Effect Handlers in Scope paper introduces scoping operations, which lead to the Haskell libraries fused-effects and polysemy, but they turned out to have some weird semantics. eff is her effort to fix that.
- Haskell doesn't make sense without pure functions
- Monthly Hask Anything (June 2021)
What are some alternatives?
effectful - An easy to use, fast extensible effects library with seamless integration with the existing Haskell ecosystem.
polysemy - :gemini: higher-order, no-boilerplate monads
effect-zoo - Effect Zoo for Scala
eveff - Efficient Haskell effect handlers based on evidence translation.
hackage-server - Hackage-Server: A Haskell Package Repository
eff - 🚧 a work in progress effect system for Haskell 🚧
Truth - Changes and Pinafore projects. Pull requests not accepted.
freer-simple - A friendly effect system for Haskell
effect-zoo - Comparing Haskell effect systems for ergonomics and speed
control-monad-free - Free monads and monad transformers
codex - UI experiments for coda
control-monad-exception - Explicitly Typed exceptions as a library