Thanks Eliot, 2016-07-26 21:24 GMT+02:00 Eliot Miranda <eliot.miranda@gmail.com>:
Hi Nicolai,
On Tue, Jul 26, 2016 at 12:09 PM, Nicolai Hess <nicolaihess@gmail.com> wrote:
Hi,
is this valid pragma syntax:
foo <func: #operation arg: #+> ^ self
You could say it was ambiguous. With the change to the syntax of binary selectors in recent years #+> is a binary selector, and so you need whitespace after the token to separate it from the closing >.
I was a bit supprised, why '+>' would be a binary selector, as for example greater-or-equal is ">=" and not "=>". But I like that we can define (any?) combination as binary selector and create new ones like => ==> or -->
(note the closing angle and the +-symbol)
The above code is what the pretty printer creates if you pretty-print this code
IMO, the pretty printer is the thing that needs fixing. If the last token in the pragma is a binary selector symbol literal then a space should be printed.
:( yes, but I don't like that we need to insert spaces.
foo <func: #operation arg: #+ > ^ self
(note the space between #+ and >
Or a bug in the parser ?
this pragma definition <func: #operation arg: #a> seems to work.
_,,,^..^,,,_ best, Eliot