David Menendez writes:
> [EMAIL PROTECTED] writes:
>
> >
> > Called MonadMinus, it is capable of defining LogicT monad with the
> > true logical negation as well as interleaving and committed choice.
> > Our ICFP05 paper describes MonadMinus monad (actually, the
> > transformer) and LogicT as well as their two implementations.
>
> I just noticed that the Haskell wiki[1] claims that Data.Foldable
> generalizes MonadMinus (aka MonadSplit).
>
> [1] <http://www.haskell.org/haskellwiki/New_monads>
>
<snip>
> But I can't help but feel that something is being lost.
Now that I think about it, you're losing the ability to work with monad
transformers.
That is, I don't think you can define a Foldable instance for
newtype NondetT m a
= NondetT (forall b. (a -> m b -> m b) -> m b -> m b)
--
David Menendez <[EMAIL PROTECTED]> | "In this house, we obey the laws
<http://www.eyrie.org/~zednenem> | of thermodynamics!"
_______________________________________________
Haskell-Cafe mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/haskell-cafe