[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