new MonadRandom instance; and maintainership
Brent Yorgey
byorgey at seas.upenn.edu
Thu Apr 25 20:28:48 CEST 2013
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
More information about the Libraries
mailing list