The “|” operator is another way of doing Union[Literal[“John], None] which is 
already supported in the new versions of Python. Correct me if I am wrong 
please. Maybe the types already use __or__ and __ror__ to sugar coat Union? 
Maybe if integers or strings or any other literal occurs after “:”, we could 
treat them slightly differently than what their actual __or__ and __ror__ would 
normally do? 

> On 5 Feb 2022, at 11:42 PM, David Mertz, Ph.D. <david.me...@gmail.com> wrote:
> 
> To do this EVERY object that you might list as alternatives would have to 
> support `__or__()` and `__ror__()`.
> 
> Moreover, for many types, `|` is defined with conflicting meaning.  E.g. `3 | 
> 5 | 11 == 15`. But of course 3, 5, 11 aren't the unique collection of numbers 
> that bitwise or to 15. At runtime, we'd have no idea what the alternatives so 
> expressed were.
> 
> On Sat, Feb 5, 2022, 2:24 PM Abdulla Al Kathiri <alkathiri.abdu...@gmail.com 
> <mailto:alkathiri.abdu...@gmail.com>> wrote:
> Hello all, 
> 
> Why can’t we use the literals directly as types? For example, 
> 
> x: Literal[1, 2, 3] = 3 
> name: Literal[“John”] | None = “John"
> 
> Become …. 
> 
> x: 1 | 2 | 3 = 3 
> name: “John” | None = “John"
> 
> 
> def open(file: Path | str, mode: “w” | “a” = “w”): … 
> 
> Best Regards, 
> 
> Abdulla 
> _______________________________________________
> Python-ideas mailing list -- python-ideas@python.org 
> <mailto:python-ideas@python.org>
> To unsubscribe send an email to python-ideas-le...@python.org 
> <mailto:python-ideas-le...@python.org>
> https://mail.python.org/mailman3/lists/python-ideas.python.org/ 
> <https://mail.python.org/mailman3/lists/python-ideas.python.org/>
> Message archived at 
> https://mail.python.org/archives/list/python-ideas@python.org/message/IJ74AQRHCIIICNWYYBQTSQD2BQASRSBL/
>  
> <https://mail.python.org/archives/list/python-ideas@python.org/message/IJ74AQRHCIIICNWYYBQTSQD2BQASRSBL/>
> Code of Conduct: http://python.org/psf/codeofconduct/ 
> <http://python.org/psf/codeofconduct/>

_______________________________________________
Python-ideas mailing list -- python-ideas@python.org
To unsubscribe send an email to python-ideas-le...@python.org
https://mail.python.org/mailman3/lists/python-ideas.python.org/
Message archived at 
https://mail.python.org/archives/list/python-ideas@python.org/message/UVIMR6Q22ML6CR3NKTOFGWMCYERWA2PI/
Code of Conduct: http://python.org/psf/codeofconduct/

Reply via email to