rng-utils: RNG within an IORef for convenient concurrent use

[ bsd3, data, library, random ] [ Propose Tags ]

rng-utils aims to make it easy to generate an RNG and safely use it concurrently.


[Skip to Readme]

Modules

[Index] [Quick Jump]

Flags

Manual Flags

NameDescriptionDefault
lib-werrorDisabled

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.2, 0.2.1, 0.3.0, 0.3.1
Change log changelog.md
Dependencies base (>=4.5 && <5), bytestring, random [details]
License BSD-3-Clause
Author Ozgun Ataman, Snap Framework Authors
Maintainer ozgun.ataman@soostone.com
Category Data, Random
Home page https://bitbucket.org/soostone/rng-utils
Bug tracker https://bitbucket.org/soostone/rng-utils/issues
Source repo head: git clone git@bitbucket.org:soostone/rng-utils.git
Uploaded by MichaelXavier at 2020-09-23T20:57:54Z
Distributions LTSHaskell:0.3.1, NixOS:0.3.1, Stackage:0.3.1
Reverse Dependencies 1 direct, 0 indirect [details]
Downloads 3228 total (19 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs available [build log]
Last success reported on 2020-09-23 [all 1 reports]

Readme for rng-utils-0.3.1

[back to package description]

rng-utils

This simple utility wraps an IORef around random for the common use case of initializing an RNG once and using it in various places within an IO context. The haddocks should otherwise be self explanatory.

Any comments, improvement opportunities, feedback most welcome.

Upgrade Notes

In version 0.3.0, rng-utils switched from targeting mwc-random to random. random sees more use in the Haskell ecosystem, has fewer dependencies and the performance difference was negligible in comparison to the concurrency mechanism. If you feel strongly that mwc-random should be part of the library, let us know in an issue and we can look into supporting multiple backends.