[Python-3000] Use cases for type annotations? (WAS: Type parameterization)
Steven Bethard
steven.bethard at gmail.com
Sat May 20 20:36:55 CEST 2006
On 5/20/06, Guido van Rossum <guido at python.org> wrote:
> I've already addressed Steve's other issues. The blogs have the use cases etc.
I'm sorry, I guess I'm just dense, but here's the blogs I've read:
http://www.artima.com/weblogs/viewpost.jsp?thread=85551
http://www.artima.com/weblogs/viewpost.jsp?thread=86641
http://www.artima.com/weblogs/viewpost.jsp?thread=87182
http://www.artima.com/weblogs/viewpost.jsp?thread=89161
http://www.artima.com/weblogs/viewpost.jsp?thread=101605
http://www.artima.com/weblogs/viewpost.jsp?thread=92662
http://www.artima.com/weblogs/viewpost.jsp?thread=155123
And the only use-cases I could extract are:
* optional type checking. Lots of thoughts here, and it seemed like
most of the blogs were leaning towards introducing interfaces to avoid
requiring concrete types. But the discussion here has been using
things like 'int' and 'str', so I'm confused as to whether or not this
is still the intention.
* function overloading[1]. I think Philip J. Eby had some interesting
thoughts here, but in all the prototypes, dispatching was done on
concrete types. Is there a way to do function overloading that
doesn't rule-out duck typing and is still reasonably efficient?
I guess, in general, my concerns about the use-cases I found were that:
(1) there were very few real implementations of the ideas, and
(2) where there was an implementation, it relied on concrete types
Is it the intention that type annotations be used primarily to check
concrete types? Or maybe interfaces are being introduced so that type
annotations can check them instead? If so, I'd like to see one of the
prototype systems using interfaces. Or maybe there's some other way
that type annotations are going to be used that doesn't rely on
concrete types that I've just missed?
Sorry to still not be getting it!
STeVe
[1] A related use case was adaptation, but as I understand it, the
adaptation folks have mostly moved to the function overloading camp
now. The issues were similar anyway.
--
Grammar am for people who can't think for myself.
--- Bucky Katt, Get Fuzzy
More information about the Python-3000
mailing list