type hinting backward compatibility with python 3.0 to 3.4

Chris Angelico rosuav at gmail.com
Sun May 21 01:41:38 EDT 2017


On Sun, May 21, 2017 at 3:30 PM, Gregory Ewing
<greg.ewing at canterbury.ac.nz> wrote:
> Chris Angelico wrote:
>>
>> But since Python _does_ work with dynamic evaluation
>> (which consequently demands that these kinds of things be expressions
>> evaluated at compile time), it must by definition be possible to have
>> side effects.
>
>
> In most languages, type declarations are not expressions
> and aren't evaluated at all in the usual sense, so questions
> of evaluation order and side effects just don't apply.
>
> If we were designing a static typing system for Python from
> scratch, I would be strongly arguing that type hints shouldn't
> be expressions evaluated at run time, because it's such a
> poor fit for the intended use. Introspectable by all means,
> but evaluated by default, no.

How do you declare that a parameter must be an instance of some class?
Classes are themselves created at run time. Or would your typing
system require that all types be created in some declarable way?

ChrisA



More information about the Python-list mailing list