rcu: Read-Copy-Update for Haskell

[ bsd3, data, library, program ] [ Propose Tags ] [ Report a vulnerability ]

Read-Copy-Update for Haskell.


[Skip to Readme]

Flags

Manual Flags

NameDescriptionDefault
unstableDisabled
measure-synchronizeDisabled

Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info

Downloads

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees

Candidates

  • No Candidates
Versions [RSS] 0, 0.1, 0.2, 0.2.1, 0.2.2, 0.2.3, 0.2.4, 0.2.5, 0.2.6, 0.2.7
Change log CHANGELOG.markdown
Dependencies atomic-primops (>=0.8), base (>=4.9 && <5), fail (>=4.9 && <4.10), ghc-prim (>=0.3), parallel (>=3.2 && <3.3), primitive (>=0.6), rcu, transformers (>=0.4 && <0.7) [details]
Tested with ghc ==8.0.2, ghc ==8.2.2, ghc ==8.4.4, ghc ==8.6.5, ghc ==8.8.4, ghc ==8.10.7, ghc ==9.0.2, ghc ==9.2.8, ghc ==9.4.5, ghc ==9.6.2
License BSD-3-Clause
Copyright Copyright (C) 2015 Edward A. Kmett, Theodore Rhys Cooper
Author Ted Cooper and Edward A. Kmett
Maintainer Edward A. Kmett <ekmett@gmail.com>, Ted Cooper <anthezium@gmail.com>
Category Data
Home page http://github.com/ekmett/rcu/
Bug tracker http://github.com/ekmett/rcu/issues
Source repo head: git clone git://github.com/ekmett/rcu.git
Uploaded by ryanglscott at 2023-08-09T12:18:24Z
Distributions LTSHaskell:0.2.7, NixOS:0.2.7, Stackage:0.2.7
Executables MoveStringGC, MoveStringQSBR, MoveStringSTM
Downloads 5265 total (55 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs available [build log]
Last success reported on 2023-08-09 [all 1 reports]

Readme for rcu-0.2.7

[back to package description]

rcu

Hackage Build Status

This package is an exploration of Read-Copy Update in Haskell based on Relativistic Programming in Haskell by Cooper and Walpole. It includes a sound QSBR-based implementation and an attempt at an STM-based implementation.

In the spirit of A Relativistic Enhancement to Software Transactional Memory by Howard and Walpole, we could extend the STM implementation to allow reads and writes on the same data in parallel, writes to disjoint data in parallel, and force readers to agree that writes before a synchronize happened before writes after it.

Development on this project proceeded in a burst of enthusiasm after Edward saw Ted's poster presentation at ICFP 2015, and yet somehow he managed to shanghai Ted into helping maintain this copy of his own work.

Contact Information

Contributions and bug reports are welcome!

Please feel free to contact us through github or on the #haskell IRC channel on irc.freenode.net.

-Edward Kmett and Ted Cooper