Operator precedence help

David Feuer david.feuer at gmail.com
Sun Aug 16 05:26:27 UTC 2020


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!

On Sun, Aug 16, 2020, 1:04 AM Henning Thielemann <
lemming at henning-thielemann.de> wrote:

>
> On Sat, 15 Aug 2020, David Feuer wrote:
>
> > Data.Sequence uses the same precedence for both, which strikes me as a
> bit sad.
> > Surprisingly, I am not seeing other packages on Hackage that define
> similar
> > operators.
>
> I have the same problem in the 'lapack' bindings.
>
> I like to allow people to write
>
>    (row) vector -*# matrix #*# matrix #*| (column) vector
>
>
> I had no good idea, though, and also chose equal precedence for all
> operators.
>
>
> > On Thu, Aug 13, 2020 at 2:50 PM Andreas Abel <andreas.abel at ifi.lmu.de>
> wrote:
> >>
> >> My hunch would be too look at what the others do to form an opinion.
> >>
> >> On 2020-08-13 19:26, David Feuer wrote:
> >> > I'm trying to work out appropriate precedences for operators and
> pattern
> >> > synonyms in my brand-new compact-sequences package. I currently have
> >> > stacks and queues, but I will soon have deques, so let's pretend. For
> >> > consistency, operators will match pattern synonyms.
> >> >
> >> > (<|), pattern (:<) :: a -> Deque a -> Deque a
> >> > (|>), pattern (:>) :: Deque a -> a -> Deque a
> >> >
> >> > :< and :> need to have different precedence to allow things like
> >> >
> >> >    a :< b :< xs :> c :> d
> >> >
> >> > to work nicely, but what numbers should I pick?
> >> >
> >> > I also have cons and snoc functions. Should I give their backticked
> >> > spellings fixity declarations? If so, with what precedences?
>
> I would give them the precedence of their infix counterparts.
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/libraries/attachments/20200816/cee25261/attachment.html>


More information about the Libraries mailing list