
On Thu, Apr 25, 2013 at 10:47:57AM -0400, Brent Yorgey wrote:
On Wed, Apr 24, 2013 at 02:38:01PM -0400, Brent Yorgey wrote:
Hi all,
I would like to add a derived MonadPlus instance for both Rand and RandT. Also, since it seems that MonadRandom has no maintainer I propose to take on its maintainership. Any comments/objections/etc. welcome.
Also, ignore what I said about deriving an instance for Rand, that does not make any sense. However, adding an instance for RandT does still make sense. A repository with the changes is here:
http://github.com/byorgey/MonadRandom
I'll upload in a few days if no one objects.
Puzzle time! Can you explain the semantics of the following code (given a derived MonadPlus instance for RandT)? maybeFail :: RandT StdGen Maybe () maybeFail = do r <- getRandomR (0, 1 :: Double) guard (r < 1/2) succeed :: RandT StdGen Maybe () succeed = maybeFail `mplus` succeed I therefore rescind my proposal to add a MonadPlus instance for RandT. However, I still volunteer to be the maintainer. =) -Brent