MaybeT to transformers
Sittampalam, Ganesh
ganesh.sittampalam at credit-suisse.com
Fri Feb 6 11:56:27 EST 2009
Henning Thielemann wrote:
> Sittampalam, Ganesh wrote:
>> Henning Thielemann wrote:
>>> What about adding the Maybe monad transformer as provided in MaybeT
>>> package to the transformers package?
>>>
>>> The module name could be
>>> Control.Monad.Trans.Maybe
>>> which would also avoid conflicts with the MaybeT package.
>>
>> What MonadPlus instance will it get, if any?
>
> The one which is currently used by MaybeT:
>
> instance (Monad m) => MonadPlus (MaybeT m) where
> mzero = MaybeT (return Nothing)
> mplus x y = MaybeT $ do v <- runMaybeT x
> case v of
> Nothing -> runMaybeT y
> Just _ -> return v
>
>
> It is also the one I needed recently.
I tend to agree that this is the right one to use, but I think care
should be taken when adding this to what is/is expected to be a widely
used package, as it could make it difficult for people who want the
alternate behaviour, and it might imply a degree of standardisation/
canonicity that is not really justified.
On the other hand, perhaps there are no real uses for the other one.
Cheers,
Ganesh
==============================================================================
Please access the attached hyperlink for an important electronic communications disclaimer:
http://www.credit-suisse.com/legal/en/disclaimer_email_ib.html
==============================================================================
More information about the Libraries
mailing list