Andre, did you have an experience where something related to Ellipsis/... confused you? It is not clear to me what exactly prompted you to single out Ellipsis (or it’s repr()?)
On Mon, May 31, 2021 at 08:37 André Roberge <andre.robe...@gmail.com> wrote: > > > On Mon, May 31, 2021 at 12:20 PM MRAB <pyt...@mrabarnett.plus.com> wrote: > >> On 2021-05-31 15:55, Paul Bryan wrote: >> > If you're proposing prevention of monkey patching Ellipsis, I think >> > you'll have to go all-in on all builtins. >> > >> > For example: >> > >> >>>> str = int >> > >> >>>> str >> > >> > <class 'int'> >> > >> >>>> str == int >> > >> > True >> > >> > >> If you rebind str to int, the repr of str will say <class 'int'>, so you >> can tell that something's happened, but the repr of ... is always >> 'Ellipsis', even though you've rebound Ellipsis. >> > > Exactly. > > Thinking some more about it, perhaps the confusion would be sufficiently > reduced if the repr of '...' would be 'Ellipsis (...)', and use this repr > to appear in error messages rather than simply the name Ellipsis. > > > >> >> > >> > On Mon, 2021-05-31 at 11:37 -0300, André Roberge wrote: >> >> In Python `...` is referred to as `Ellipsis` and cannot be assigned to. >> >> Yet, one can assign any value to the name `Ellipsis`. >> >> >> >> Consider the following: >> >> >> >> ``` >> >> >>> ... >> >> Ellipsis >> >> >>> ... == Ellipsis >> >> True >> >> >>> Ellipsis >> >> Ellipsis >> >> >>> Ellipsis = 3 >> >> >>> Ellipsis >> >> 3 >> >> >>> ... = 4 >> >> File "<stdin>", line 1 >> >> ... = 4 >> >> ^ >> >> SyntaxError: cannot assign to Ellipsis >> >> >>> # But I just did assign a new value to the name Ellipsis above. >> >> >>> Ellipsis >> >> 3 >> >> >>> ... >> >> Ellipsis >> >> >>> ... == Ellipsis >> >> False >> >> ``` >> >> >> >> For consistency, `Ellipsis` (the name) should **always** refer to the >> >> same object that `...` refers to, so that both could not be assigned a >> >> new value. >> >> >> _______________________________________________ >> 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/NE2FAW3XDFYUIMILV4BC2XT6VKLC4P6V/ >> Code of Conduct: 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/DIRDIQFK72LFHYJNAD5BWL3L5SPAUMVM/ > Code of Conduct: http://python.org/psf/codeofconduct/ > -- --Guido (mobile)
_______________________________________________ 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/DWOVJOTJZQGTLVDEQ76XAI5ZD4M3KSCI/ Code of Conduct: http://python.org/psf/codeofconduct/