So binary selector can be any non-alphanumeric symbol?

On Tue, Jul 26, 2016 at 9:35 PM, Nicolai Hess <[email protected]> wrote:

> Thanks Eliot,
>
> 2016-07-26 21:24 GMT+02:00 Eliot Miranda <[email protected]>:
>
>> Hi Nicolai,
>>
>> On Tue, Jul 26, 2016 at 12:09 PM, Nicolai Hess <[email protected]>
>> 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
>>
>
>

Reply via email to