<div dir="ltr">In fact if one wanted to override part of the global precedence scheme using such a graph, it wouldn't even need to affect the final format of their code. That scheme could just be a different lens onto the same abstract syntax tree. Someone else looking at your code wouldn't have to know that you see a different ordering.<br><br>(The global ordering doesn't actually bother me. I'm just throwing ideas out there.)</div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, Sep 2, 2020 at 6:54 PM Jeffrey Brown <<a href="mailto:jeffbrown.the@gmail.com">jeffbrown.the@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">What if the global numeric precedence scheme was retained, but users could overlay their own precedence graph? The nodes in that graph could be the operators one wants to treat differently, plus the usual 10 precedence levels. It wouldn't have to be connected.</div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, Sep 2, 2020 at 5:30 PM John Cotton Ericson <John.Ericson@obsidian.systems> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div>
<p>I definitely prefer this approach. I do not like absolutely
levels, whether natural numbers or fractional. At the end of the
day, that's all order-maintance for a *global* total preorder, and
such a design will always result in unforeseeable interactions
between independently-developed operators, not to mention
increasingly ludicrously-precise fractions.</p>
<p>This may sound like low-priority design pedantry, but I suspect
(probably because I myself was taught with scheme) that
spooky-action-at-a-distance precedence greatly harms beginning
programmers, causing confusion or at least delaying the
understanding that expressions are arbitrarily deep trees.</p>
<p>John<br>
</p>
<div>On 8/17/20 12:12 PM, Carter Schonwald
wrote:<br>
</div>
<blockquote type="cite">
<div>
<div dir="auto">Oh yeah!</div>
</div>
<div dir="auto">I feel like everyone’s wondered about that
approach. But it definitely would need some experiments to
validate. But in some ways it’d be super fascinating. </div>
<div><br>
<div class="gmail_quote">
<div dir="ltr" class="gmail_attr">On Mon, Aug 17, 2020 at 9:40
AM Henning Thielemann <<a href="mailto:lemming@henning-thielemann.de" target="_blank">lemming@henning-thielemann.de</a>>
wrote:<br>
</div>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><br>
On Sun, 16 Aug 2020, Carter Schonwald wrote:<br>
<br>
> I do think that the work needed to actually support
fractional <br>
> precedence in ghc is pretty minimal. Or at least I
remember having a <br>
> conversation about it a few years ago, and the
conclusion was that <br>
> adding precedence would be super easy to do, but just
lacked any good <br>
> motivating example from real libraries. <br>
<br>
I remember this discussion, too, and I guess that it was
started by Simon <br>
Marlow and it ended with recalling that decades ago
something more <br>
advanced was discussed: Groups of equal precedence and
relations between <br>
the groups. But that one was too complicated to be
implemented.</blockquote>
</div>
</div>
<br>
<fieldset></fieldset>
<pre>_______________________________________________
Libraries mailing list
<a href="mailto:Libraries@haskell.org" target="_blank">Libraries@haskell.org</a>
<a href="http://mail.haskell.org/cgi-bin/mailman/listinfo/libraries" target="_blank">http://mail.haskell.org/cgi-bin/mailman/listinfo/libraries</a>
</pre>
</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><br clear="all"><div><br></div>-- <br><div dir="ltr"><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div>Jeff Brown | Jeffrey Benjamin Brown</div><div dir="ltr"><a href="https://msu.edu/~brown202/" style="font-size:12.8px" target="_blank">Website</a> | <a href="https://www.facebook.com/mejeff.younotjeff" style="font-size:12.8px" target="_blank">Facebook</a> | <a href="https://www.linkedin.com/in/jeffreybenjaminbrown" style="font-size:12.8px" target="_blank">LinkedIn</a><span style="font-size:12.8px">(spammy, so I often miss messages here) </span><span style="font-size:12.8px">|</span><span style="font-size:12.8px"> </span><a href="https://github.com/jeffreybenjaminbrown" style="font-size:12.8px" target="_blank">Github</a><span style="font-size:12.8px"> </span></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div>
</blockquote></div><br clear="all"><div><br></div>-- <br><div dir="ltr" class="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div>Jeff Brown | Jeffrey Benjamin Brown</div><div dir="ltr"><a href="https://msu.edu/~brown202/" style="font-size:12.8px" target="_blank">Website</a> | <a href="https://www.facebook.com/mejeff.younotjeff" style="font-size:12.8px" target="_blank">Facebook</a> | <a href="https://www.linkedin.com/in/jeffreybenjaminbrown" style="font-size:12.8px" target="_blank">LinkedIn</a><span style="font-size:12.8px">(spammy, so I often miss messages here) </span><span style="font-size:12.8px">|</span><span style="font-size:12.8px"> </span><a href="https://github.com/jeffreybenjaminbrown" style="font-size:12.8px" target="_blank">Github</a><span style="font-size:12.8px"> </span></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div>