<div dir="ltr"><div>Apologies, that wasn't finished. I meant to say, does it mean that by writing a BMonad instance a Monad instance would be automatically generated? If so, that seems like it would cause conflicts in many cases. Regardless, I think "newclass" needs to be better specified if you want other people to be able to support it.<br>
</div><div><div class="gmail_extra"><br><br><div class="gmail_quote">On Thu, Oct 3, 2013 at 7:53 PM, John Lato <span dir="ltr"><<a href="mailto:jwlato@gmail.com" target="_blank">jwlato@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">I don't really understand what a "newclass" is supposed to be.<br><div class="gmail_extra">
<br><br><div class="gmail_quote"><div class="im">On Thu, Oct 3, 2013 at 2:15 PM, Wvv <span dir="ltr"><<a href="mailto:vitea3v@rambler.ru" target="_blank">vitea3v@rambler.ru</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
newclass Bind a => Monad a => BMonad a where { (>>=) = (>>-) }</blockquote><div><br></div></div><div>I think this means that `BMonad` is supposed to be a new class that has both Bind and Monad in scope, the same as<br>
<br></div><div> class (Bind a, Monad a) => BMonad a<br></div><div><br></div><div>except that the Monad instance's (>>=) is replaced by (>>-).<br><br></div><div>If that's what "newclass" means, it seems absolutely pointless.<br>
<br></div><div>Does it instead mean that one could write<br><br></div><div> instance Bind MyType where<br><br></div><div> instance BMonad MyType<br></div></div></div></div>
</blockquote></div><br></div></div></div>