[Python-Dev] Do PEP 526 type declarations define the types of variables or not? (original) (raw)

Nick Coghlan ncoghlan at gmail.com
Tue Sep 6 12:35:40 EDT 2016


On 7 September 2016 at 01:33, Ivan Levkivskyi <levkivskyi at gmail.com> wrote:

On 6 September 2016 at 17:25, Mark Shannon <mark at hotpy.org> wrote:

The issue is not whether the checker can tell that the type of the expression is int, but whether it is forced to use the type of the variable. The current wording of PEP 526 strongly implies the latter. Mark, Could you please point to exact locations in the PEP text and propose an alternative wording, so that we will have a more concrete discussion.

Rather than trying to work that out on the list, it may make the most sense for Mark to put together a PR that rewords the parts of the PEP that he sees as constraining typecheckers to restrict usage of a variable based on its annotation, rather than just restricting future bindings to it.

It seems to me everyone's actually in pretty good agreement on how we want variable annotations to work (constraining future assignments to abide by the declaration, without constraining use when inference indicates a more specific type), but the PEP may be using some particular terminology more loosely than is strictly correct in the context of type theory.

Cheers, Nick.

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



More information about the Python-Dev mailing list