cvs commit: fptools/libraries/base/Control/Monad MonadRec.hs
Simon Marlow
simonmar@microsoft.com
Mon, 30 Sep 2002 09:51:02 +0100
> erkok 2002/09/27 16:10:23 PDT
>=20
> Added files:
> libraries/base/Control/Monad MonadRec.hs=20
> Log:
> The MonadRec.hs library, stolen from the Hugs release.
> =20
> Note: There's a clear overlap with the library Control.Monad.Fix.
> =20
> Unfortunately, the names of the classes are different, mainly
> for historical reasons (MonadFix vs MonadRec.) There was some
> discussion on how to resolve this a while back, but I guess
> Hugs and GHC went their own ways. Once the dust settles, we
> can agree on something common, and make Hugs and GHC=20
> use the same
> names. (Note that this duplication also exists in the current
> release of Hugs as well.) For the time being, this file helps
> keep things simple with regard to the already existing code
> that uses the mdo-notation.. (i.e., it also defines instances
> for the LazyST, ST, and list monads in addition
> to the ones defined in Fix.hs: IO and maybe.)
> =20
> We can also name this file just "Rec", but "MonadRec" sounds less
> confusing, and more inline with the Hugs release.
Levent, thanks for this. I have a couple of comments though: firstly,
I think it should definitely be called "Control.Monad.Rec" rather than
"Control.Monad.MonadRec" (the extra "Monad" is superfluous). Hugs will
be using these libraries in its next release too, so I don't think
there's a compatibility problem.
Secondly, I presume we should deprecate the MonadFix class in
Control.Monad.Fix now?
Cheers,
Simon
_______________________________________________
Cvs-libraries mailing list
Cvs-libraries@haskell.org
http://www.haskell.org/mailman/listinfo/cvs-libraries