[Python-ideas] Type Hinting Kick-off
Steven D'Aprano
steve at pearwood.info
Thu Dec 25 15:43:35 CET 2014
On Wed, Dec 24, 2014 at 08:16:52PM -0800, Guido van Rossum wrote:
> On Wed, Dec 24, 2014 at 4:50 PM, Eugene Toder <eltoder at gmail.com> wrote:
[...]
> > Pragmatics:
> >
> > 3. The names Union and Intersection are standard terminology in type
> > checking, but may not be familiar to many Python users. Names like
> > AnyOf[] and AllOf[] can be more intuitive.
>
> I strongly disagree with this. Python's predecessor, ABC, used a number of
> non-standard terms for common programming language concepts, for similar
> reasons. But the net effect was just that it looked weird to anyone
> familiar with other languages, and for the users who were a completely
> blank slate, well, "HOW-TO" was just as much jargon that they had to learn
> as "procedure". Also, the Python users who will most likely need to learn
> about this stuff are most likely library developers.
I presume that runtime name binding will be allowed, e.g.
from typing import Union as AnyOf
def spam(x: AnyOf[int, float])->str: ...
but not encouraged. (It's not that hard to learn a few standard names
like Union.) So the above would work at runtime, but at compile time, it
will depend on the specific linter or type checker: it will be a
"quality of implementation" issue, with simple tools possibly not
being able to recognise AnyOf as being the same as Union.
Is this what you have in mind?
--
Steven
More information about the Python-ideas
mailing list