<div dir="ltr">Indeed, this is fortunately not a new idea and there are already implementations! <a href="http://www.cse.chalmers.se/~nad/publications/danielsson-norell-mixfix.pdf">http://www.cse.chalmers.se/~nad/publications/danielsson-norell-mixfix.pdf</a><div><br></div><div>Cheers,</div><div>Adam</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Oct 19, 2015 at 9:39 PM, Jeffrey Brown <span dir="ltr"><<a href="mailto:jeffbrown.the@gmail.com" target="_blank">jeffbrown.the@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"><div>In Haskell, fixity is global. There are ten levels. You can't stick something between two levels, and you can't subvert the order of the levels. If you want something that binds before >>= but after the logical operators && and ||, you're out of luck -- unless you're willing to define synonyms for && and || that bind faster. (Tidal, a music DSL written in Haskell (it's on Hackage), exemplifies that problem with its |+| operator.)</div><div><br></div><div>Conceptually, by contrast, fixity is local. The arithmetic operators (* + - / and **), for instance, have a certain fixity defined relative to each other, and that order does not, I believe, in the mind of most users extend beyond arithmetic.</div><div><br></div><div>Does anybody else think it would be nice if a library's author had only to decide its operators' precedence relative to each other, and could let users decide for themselves how fast its operators should bind relative to operators from another library?</div><span class="HOEnZb"><font color="#888888"><div><br></div>-- <br><div><div dir="ltr">Jeffrey Benjamin Brown</div></div>
</font></span></div>
<br>_______________________________________________<br>
Haskell-Cafe mailing list<br>
<a href="mailto:Haskell-Cafe@haskell.org">Haskell-Cafe@haskell.org</a><br>
<a href="http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe" rel="noreferrer" target="_blank">http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe</a><br>
<br></blockquote></div><br></div>