[Haskell-cafe] Two-continuation `monads' and MonadMinus [Re: Parsers are monadic?]

David Menendez zednenem at psualum.com
Fri Jul 6 16:27:26 EDT 2007


David Menendez writes:

> oleg at pobox.com 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 <zednenem at psualum.com> | "In this house, we obey the laws
<http://www.eyrie.org/~zednenem>      |        of thermodynamics!"


More information about the Haskell-Cafe mailing list