[Python-Dev] PEP 409 update [was: PEP 409 (original) (raw)

Nick Coghlan ncoghlan at gmail.com
Fri Feb 3 01:34:24 CET 2012


On Fri, Feb 3, 2012 at 10:04 AM, Guido van Rossum <guido at python.org> wrote:

On Thu, Feb 2, 2012 at 3:41 PM, Nick Coghlan <ncoghlan at gmail.com> wrote:

On Fri, Feb 3, 2012 at 9:32 AM, Yury Selivanov <yselivanov.ml at gmail.com> wrote:

In my opinion using Ellipsis is just wrong.  It is completely non-obvious not only to a beginner, but even to an experienced python developer.  Writing 'raise Something() from None' looks less suspicious, but still strange.

Beginners will never even see it (unless they're printing out cause explicitly for some unknown reason). Experienced devs can go read language reference or PEP 409 for the rationale (that's one of the reasons we have a PEP process). I somehow have a feeling that Yury misread the PEP (or maybe my +1) as saying that the syntax for suppressing the context would be "raise from Ellipsis". That's not the case, it's "from None".

Oh right, that objection makes more sense.

FWIW, I expect the implementation will allow "raise exc from Ellipsis" as an odd synonym for "raise exc". I'd want to allow "exc.cause = Ellipsis" to reset an exception with a previously set cause back to the default state, at which point the synonym follows from the semantics of "raise X from Y" as syntactic sugar for "_exc = X; _exc.cause = Y; raise _exc"

Cheers, Nick.

-- Nick Coghlan   |   ncoghlan at gmail.com   |   Brisbane, Australia



More information about the Python-Dev mailing list