cleff
Fast and concise extensible effects (by re-xyr)
Truth
Changes and Pinafore projects. Pull requests not accepted. (by AshleyYakeley)
cleff | Truth | |
---|---|---|
5 | 5 | |
104 | 32 | |
- | - | |
0.0 | 9.6 | |
over 1 year ago | 6 days ago | |
Haskell | Haskell | |
BSD 3-clause "New" or "Revised" License | GNU General Public License v3.0 only |
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.
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
Posts with mentions or reviews of cleff.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2022-12-01.
-
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.
Truth
Posts with mentions or reviews of Truth.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2022-12-01.
-
Implicit parameters vs ReaderT
Here's an example in Pinafore's type unifier code, where I use ?rigidity :: String -> NameRigidity everywhere. In my opinion, the implicit parameter constraint makes the already complicated code slightly simpler. But it doesn't escape the module.
-
[RFC] Generate Cabal files from TOML
I'm actually using YAML file includes with hpack to include a common.yaml file for settings common to multiple packages.
-
install package into haskell project
HPack is YAML, so it allows file inclusion. I use this to keep common settings for a multi-package project.
-
First Class Monad Stacks
I've got something pretty similar in an unreleased package.
-
Is this type family shenanigan safe?
I have now stripped out all that complication and replaced it with typeIsPair.
What are some alternatives?
When comparing cleff and Truth you can also consider the following projects:
effectful - An easy to use, fast extensible effects library with seamless integration with the existing Haskell ecosystem.
hpack - hpack: A modern format for Haskell packages
fused-effects - A fast, flexible, fused effect system for Haskell
codex - UI experiments for coda
effect-zoo - Effect Zoo for Scala
witness
effect-zoo - Comparing Haskell effect systems for ergonomics and speed
tomcab
eff - 🚧 a work in progress effect system for Haskell 🚧
toml - Tom's Obvious, Minimal Language
hpqtypes-effectful - Effectful bindings for hpqtypes
Rust Language Server - Repository for the Rust Language Server (aka RLS)