<div><div dir="auto">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. </div><div dir="auto"><br></div><div dir="auto">David, maybe you could help with that from the examples side of things?</div></div><div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sun, Aug 16, 2020 at 1:27 AM David Feuer <<a href="mailto:david.feuer@gmail.com">david.feuer@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">It sure does seem crowded around there. I'd love to have 4.5 or 5.5. Going up to 6 runs into arithmetic. Going down to 4 hits up against Functor and Applicative stuff, which is a tad unfortunate but I think probably not as bad in practice. So I think I'll go with 4 and 5. Thanks, y'all!</div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sun, Aug 16, 2020, 1:04 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:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><br>
On Sat, 15 Aug 2020, David Feuer wrote:<br>
<br>
> Data.Sequence uses the same precedence for both, which strikes me as a bit sad.<br>
> Surprisingly, I am not seeing other packages on Hackage that define similar<br>
> operators.<br>
<br>
I have the same problem in the 'lapack' bindings.<br>
<br>
I like to allow people to write<br>
<br>
(row) vector -*# matrix #*# matrix #*| (column) vector<br>
<br>
<br>
I had no good idea, though, and also chose equal precedence for all <br>
operators.<br>
<br>
<br>
> On Thu, Aug 13, 2020 at 2:50 PM Andreas Abel <<a href="mailto:andreas.abel@ifi.lmu.de" rel="noreferrer" target="_blank">andreas.abel@ifi.lmu.de</a>> wrote:<br>
>><br>
>> My hunch would be too look at what the others do to form an opinion.<br>
>><br>
>> On 2020-08-13 19:26, David Feuer wrote:<br>
>> > I'm trying to work out appropriate precedences for operators and pattern<br>
>> > synonyms in my brand-new compact-sequences package. I currently have<br>
>> > stacks and queues, but I will soon have deques, so let's pretend. For<br>
>> > consistency, operators will match pattern synonyms.<br>
>> ><br>
>> > (<|), pattern (:<) :: a -> Deque a -> Deque a<br>
>> > (|>), pattern (:>) :: Deque a -> a -> Deque a<br>
>> ><br>
>> > :< and :> need to have different precedence to allow things like<br>
>> ><br>
>> > a :< b :< xs :> c :> d<br>
>> ><br>
>> > to work nicely, but what numbers should I pick?<br>
>> ><br>
>> > I also have cons and snoc functions. Should I give their backticked<br>
>> > spellings fixity declarations? If so, with what precedences?<br>
<br>
I would give them the precedence of their infix counterparts.<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>