async
Run IO operations asynchronously and wait for their results (by simonmar)
streamly
High performance, concurrent functional programming abstractions (by composewell)
Our great sponsors
async | streamly | |
---|---|---|
3 | 8 | |
314 | 844 | |
- | 0.4% | |
3.9 | 9.7 | |
13 days ago | about 1 month ago | |
Haskell | Haskell | |
BSD 3-clause "New" or "Revised" License | BSD 3-clause "New" or "Revised" License |
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.
async
Posts with mentions or reviews of async.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2022-06-30.
-
ki 1.0.0: a lightweight structured concurrency library
Are you referring to this? https://github.com/simonmar/async/issues/128
-
Rust async is colored, and that’s not a big deal
What do you mean by that? Blocking functions (without any yield points) certainly exist in Haskell, unless one uses -fno-omit-yields (see here).
streamly
Posts with mentions or reviews of streamly.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2023-05-25.
-
[ANN] Haskell Streamly 0.9.0 Release!
https://github.com/composewell/streamly/issues/1307 seems related, but it was a long time ago. We weren't heavy users anyway, so our streaming philosophy is now "conduit if it's simple and plugging into a conduit-using library, streaming if you're doing complicated things".
We are glad to announce streamly 0.9.0 release. streamly-0.9.0 and streamly-core-0.1.0 have been available on Hackage for some time now, you can find reference documentation and some guides on https://streamly.composewell.com as well. The website also has functionality to search across multiple streamly packages.
-
Haskell Libraries I Love
I want to like streamly, but the API is so huge, yet I feel like I'm doing things on a too low level of abstraction. (And as long as it needs a ghc plugin I doubt it'll become the de facto standard.) Though maybe I just haven't used it enough. It does have great docs at https://streamly.composewell.com/ and they seem to be taking both performance, dependency weight and API design quite seriously.
- Edward Kmett reflects on the benefits of Haskell as a functional programming language - especially at scale.
-
oath: Composable Concurrent Computation Done Right
You missed streamly in your list of alternatives: https://github.com/composewell/streamly/blob/master/docs/streamly-vs-async.md
What are some alternatives?
When comparing async and streamly you can also consider the following projects:
stm-conduit - STM-based channels for conduits.
pipes-concurrency - Concurrency for the pipes ecosystem
restricted-workers - Interactive-diagrams
conceit - Concurrently + Either
throttle-io-stream - Throttler between a producer and a consumer function
haxl - A Haskell library that simplifies access to remote data, such as databases or web-based services.
async-combinators
rwlock - A simple implementation of a multiple-reader / single-writer locks using STM
theatre - Minimalistic actor library for Haskell
lvish - The LVish Haskell library
ctrie - Non-blocking concurrent hashmap for Haskell