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 >> > >
