MonadRandom 0.5 and mwc-random: feedback wanted
Since 2013 or so I have been the maintainer of the MonadRandom
package, which provides an mtl
-style type class for monads with support for generation of pseudorandom values, along with a concrete random monad transformer RandT
. As of this writing it has 89 reverse dependencies on Hackage—a healthy number, and one that makes me think carefully about any breaking changes to the package.
Recently I got a number of pull requests, and have been working on putting together an 0.5 release which adds a few functions, adds lazy- and strict-state variants of RandT
, and reorganizes things to be closer to standard practice of the transformers
package. Since this release will include some technically breaking changes already, it’s a good time to think about potentially including others.
The one thing I am not sure what to do about is this issue: Allow MonadRandom interface for MWC-random. mwc-random
is a very nice package for psuedorandom number generation, but apparently it does not fit into the MonadRandom
abstraction. First of all, I would like to understand why—I am not very familiar with mwc-random
. Second of all, I’d love to figure out a solution, but ideally one that causes as little breakage to existing code as possible.
Leave a comment (either here or on the github issue) if this is something you know/care about, and let’s see if we can figure out a good solution together!