[project @ 2002-09-27 23:10:23 by erkok]
The MonadRec.hs library, stolen from the Hugs release.
Note: There's a clear overlap with the library Control.Monad.Fix.
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 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.)
We can also name this file just "Rec", but "MonadRec" sounds less
confusing, and more inline with the Hugs release.