|almost 9 years ago
|4 months ago
|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.
We haven't tracked posts mentioning restricted-workers yet.
Tracking mentions began in Dec 2020.
Software Transactional Memory (1997)
4 projects | news.ycombinator.com | 26 Jul 2022
I think you are right about STM being roughly equivalent to snapshot isolation.
What STM offers is an easy way to invent "containers for snapshotted values" aka TVars. Using them carefully may result in better scaling: https://hackage.haskell.org/package/stm-containers
What are some alternatives?
stm-conduit - STM-based channels for conduits.
streamly - High performance, concurrent functional programming abstractions
stm-incremental - A very simple interface for incremental computation using STM in Haskell.
async - Run IO operations asynchronously and wait for their results
unagi-chan - A haskell library implementing fast and scalable concurrent queues for x86, with a Chan-like API
timeout-control - Updatable timeouts as a Monad transformer
concurrent-supply - A fast globally unique variable supply with a pure API
lifted-async - Run lifted IO operations asynchronously and wait for their results
concurrent-machines - Concurrency features for the Haskell machines package
pipes-concurrency - Concurrency for the pipes ecosystem
async-dejafu - Systematic concurrency testing meets Haskell.
stm-chunked-queues - Thread communication queues that group items/requests that occur close together in time