Proposed new syntax

Terry Reedy tjreedy at udel.edu
Mon Aug 21 08:03:51 EDT 2017


On 8/20/2017 12:28 AM, Rustom Mody wrote:

> Lives today in python in the fact that the russel-set gives a straightforward
> syntax error and nothing more grandly profound
> 
> R = {x if x not in x}

> R = {x for x not in x}

Try the actual Python syntax set builder expression and you get 
executable code:

sos = <some 'set of sets'>
R = {x for x in sos if x not in x}

In Python, the expression creates a new set that is not a member of sos, 
so the x in 'x not in x' is never S, and there is no problem, as far as 
S is concerned, in evaluating 'x not in x'.

But, is R is equal to some set z in sos?  If yes, then we could identify 
R and z and say that R is in sos.  But the answer is No. Russell's 
'paradox' comes from separately insisting that the answer is also Yes.




More information about the Python-list mailing list