
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.
(The global ordering doesn't actually bother me. I'm just throwing
ideas out there.)
On Wed, Sep 2, 2020 at 6:54 PM Jeffrey Brown
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.
On Wed, Sep 2, 2020 at 5:30 PM John Cotton Ericson
wrote: 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.
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.
John On 8/17/20 12:12 PM, Carter Schonwald wrote:
Oh yeah! 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.
On Mon, Aug 17, 2020 at 9:40 AM Henning Thielemann < lemming@henning-thielemann.de> wrote:
On Sun, 16 Aug 2020, Carter Schonwald wrote:
I do think that the work needed to actually support fractional precedence in ghc is pretty minimal. Or at least I remember having a conversation about it a few years ago, and the conclusion was that adding precedence would be super easy to do, but just lacked any good motivating example from real libraries.
I remember this discussion, too, and I guess that it was started by Simon Marlow and it ended with recalling that decades ago something more advanced was discussed: Groups of equal precedence and relations between the groups. But that one was too complicated to be implemented.
_______________________________________________ Libraries mailing listLibraries@haskell.orghttp://mail.haskell.org/cgi-bin/mailman/listinfo/libraries
_______________________________________________ Libraries mailing list Libraries@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/libraries
-- Jeff Brown | Jeffrey Benjamin Brown Website https://msu.edu/~brown202/ | Facebook https://www.facebook.com/mejeff.younotjeff | LinkedIn https://www.linkedin.com/in/jeffreybenjaminbrown(spammy, so I often miss messages here) | Github https://github.com/jeffreybenjaminbrown
-- Jeff Brown | Jeffrey Benjamin Brown Website https://msu.edu/~brown202/ | Facebook https://www.facebook.com/mejeff.younotjeff | LinkedIn https://www.linkedin.com/in/jeffreybenjaminbrown(spammy, so I often miss messages here) | Github https://github.com/jeffreybenjaminbrown