[Haskell-cafe] Fixity declaration extension
Евгений Пермяков
permeakra at gmail.com
Sun Aug 12 20:46:37 CEST 2012
fixity declaration has form *infix(l|r)? [Digit]* in haskell. I'm pretty
sure, that this is not enough for complicated cases. Ideally, fixity
declarations should have form *infix(l|r)? [Digit](\.(+|-)[Digit])** ,
with implied infinitely long repeated (.0) tail. This will allow fine
tuning of operator priorities and much easier priority selection. For
example, it may be assumed, that bit operations like (.&.) operator have
hightest priority and have priorities like 9.0.1 or 9.0.2, anti-lisps
like ($) have lowest priority like 0.0.1, control operators have base
priority 1.* and logic operations like (&&) have priority of 2.* and it
will be possibly to add new operators between or above all (for example)
control operators without moving fixity of other ones.
Agda2 language supports wide priority range, but still without 'tails'
to my knowledge. Is there any haskell-influenced language or
experimental syntactic extension that address the issue?
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.haskell.org/pipermail/haskell-cafe/attachments/20120812/2b9353bf/attachment.htm>
More information about the Haskell-Cafe
mailing list