<div dir="auto">That sounds like a nice idea.  Which laws would we require for it?  The usual monad laws require a pure too right? Along with fmap?</div><div dir="auto"><br></div><div dir="auto">Does this necessitate the existence of applicative trans?</div><div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, Jun 2, 2021 at 12:06 PM Zemyla <<a href="mailto:zemyla@gmail.com">zemyla@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="auto">I feel like instead, MonadTrans should have a function<div dir="auto"><br></div><div dir="auto">(>>==) :: Monad m => t m a -> (a -> t m b) -> t m b</div><div dir="auto"><br></div><div dir="auto">That way, it can prove it's a Monad while still staying Haskell 98.</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, Jun 2, 2021, 10:51 Viktor Dukhovni <<a href="mailto:ietf-dane@dukhovni.org" target="_blank">ietf-dane@dukhovni.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">On Wed, Jun 02, 2021 at 07:27:28AM +0200, Henning Thielemann wrote:<br>
<br>
> So far, 'transformers' is mostly Haskell 98. This is why I prefer it<br>
> to 'mtl'. Wouldn't it be enough to add this extension to 'mtl'? I see<br>
> that 'mtl' re-uses the MonadTrans class from 'transformers' but maybe<br>
> it should define its own class with the quantified constraints then.<br>
<br>
I don't think that having two incompatible MonadTrans classes would<br>
constitute progress.  Older versions of the transformers library (which<br>
is by now quite stable) will continue to be available, for anyone who<br>
wants to use a Haskell '98 (ish?) version.<br>
<br>
[ FWIW, I don't know what you mean by "is mostly Haskell '98", I'd<br>
  expect that to be a strict binary choice: is or isn't. ]<br>
<br>
-- <br>
    Viktor.<br>
_______________________________________________<br>
Libraries mailing list<br>
<a href="mailto:Libraries@haskell.org" rel="noreferrer" target="_blank">Libraries@haskell.org</a><br>
<a href="http://mail.haskell.org/cgi-bin/mailman/listinfo/libraries" rel="noreferrer noreferrer" target="_blank">http://mail.haskell.org/cgi-bin/mailman/listinfo/libraries</a><br>
</blockquote></div>
_______________________________________________<br>
Libraries mailing list<br>
<a href="mailto:Libraries@haskell.org" target="_blank">Libraries@haskell.org</a><br>
<a href="http://mail.haskell.org/cgi-bin/mailman/listinfo/libraries" rel="noreferrer" target="_blank">http://mail.haskell.org/cgi-bin/mailman/listinfo/libraries</a><br>
</blockquote></div></div>