Brandon Moore wrote:
Brian Hulley wrote:
I would *like* to be able to use the syntax:
ith = Data.Array.IArray.(!)
Why does the nice argument not apply equally well to infixifying
things? Shouldn't I be able to write
myArr Data.Arr.`get` ix
Good point. This would also remove the need for allowing double conversion
as in OpIdOp which was an element of asymmetry in my original proposal. Thus
I revise my proposal to the following:
varId ::= id
varOp ::= symbol
varIdOp ::= ` varId `
varOpId ::= ( varOp )
q<x> ::= {conId .}+ x
so the concerns of qualification and Id, Op, Id<->Op would now be separated
(the point being that you can only make a decision regarding Id<->Op when
you know whether or not you're starting with an Id or an Op and you only
know this latter fact when you've already "arrived" at the module by typing
the qualifier).
(Also the trailing backquote in the existing syntax is redundant)
The trailing backquote is just as redundant as the trailing close
paren in the syntax for using a symbol as a prefix function and just
as important for my comment on backticks as the closing paren is to
your proposal for sections -
it means it's lexically apparent at least at one side of the
identifier that it's a section/infixification
I'm not sure I understand this argument for why a trailing backquote is
needed, though I can see it would be needed if the dist-fix idea proposed by
Benjamin Franksen in
http://www.haskell.org/pipermail/haskell-cafe/2006-August/017373.html was
adopted eg:
Control.K.`if cond Control.K.`then` t Control.K.`else` f Control.K.fi`
Regards, Brian.
--
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.
http://www.metamilk.com
_______________________________________________
Haskell-Cafe mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/haskell-cafe