On 04/24/2015 09:45 PM, Nick Coghlan wrote:
Ah, I misread Tal's suggestion. Using unary + is an even neater approach.

Not exactly.  The way I figure it, the best way to achieve this with unary plus is to ast.parse it (as we currently do) and then modify the parse tree.  That works but it's kind of messy.

My main objection to this notation is that that set objects don't support +.  The union operator for sets is |.

I've prototyped a hack allowing
    str(accept|={NoneType})
I used the tokenize module to tokenize, modify, and untokenize the converter invocation.  Works fine.  And since augmented assignment is (otherwise) illegal in expressions, it's totally unambiguous.  I think if we do it at all it should be with that notation.


/arry