[Haskell-cafe] A better syntax for qualified operators?
brianh at metamilk.com
Fri Sep 29 04:50:11 EDT 2006
Henning Thielemann wrote:
> On Wed, 27 Sep 2006, Brian Hulley wrote:
>> ith = Data.Array.IArray.(!)
> This cool editor is able to show a list of functions with the given
> qualification but is not able to enclose the qualified identifier in
I hadn't thought of that...
> I don't think that it is a good idea to move the
> qualification away from the qualified identifier. The parentheses
> around the infix operator are a special case of sections. With the
> proposed syntactic change, we would have two meanings of parentheses:
> Section and making an infix operator prefix. One can also mix up
> more easily with function composition
> Data.Array.IArray . (!)
> if Data.Array.IArray is also a constructor.
Yes this problem was at the back of my mind. I think I'm coming round to the
view that the original syntax is actually better after all. It also turns
out that it's rather difficult to deal with Data.Array.IArray.(+) at the
lexical level because there are 3 different ways in which this can be
leading either to too many different tokens to represent the above
variations or else a very heavyweight token with many fields.
I had originally thought it would be easier to have (+) and `div` as lexemes
so that it would be easier to parse expressions involving operators in the
CFG, but as long as
accepted, this reason will disappear.
Thanks for the good justification of the existing syntax,
Logic empowers us and Love gives us purpose.
Yet still phantoms restless for eras long past,
congealed in the present in unthought forms,
strive mightily unseen to destroy us.
More information about the Haskell-Cafe