<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Tue, Aug 19, 2014 at 4:02 PM, Antoine Pitrou <span dir="ltr"><<a href="mailto:antoine@python.org" target="_blank">antoine@python.org</a>></span> wrote:<br>


<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Le 19/08/2014 18:50, Terry Reedy a écrit :<div><br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
On 8/19/2014 9:27 AM, Nick Coghlan wrote:<br>
<br>
What I like: 'optional type hints' based on a fleshed-out ABC systems<br>
that collects all ABCs together on one module via import from current<br>
files. It seems that we have been slowly groping towards this for years.<br>
</blockquote>
<br></div>
Hmm, I've been saying this already, but my intuition is that it's a bad idea to conflate *type descriptions* (what this proposal is about) and actual *runtime types* (what ABCs are).<br></blockquote><div><br></div>


<div>But are they? I think the registration mechanism makes it clear that they aren't (necessarily) runtime types -- by linking a concrete type with an ABC through registration you are pretty clearly stating that the ABC *describes* (an aspect of) the concrete class without automatically adding any behavior from the ABC to it.<br>


</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Besides, the fact that type descriptions must be parametrable, and therefore end up being used as instances, sounds like it kills the idea of making them regular (runtime) types as well. Unless we make them metaclasses?<br>


</blockquote></div><br></div><div class="gmail_extra">No, that doesn't follow at all. The concept of metaclasses means that classes *are* instances (of the metaclass) and it lets us define operations (in particular __getitem__ :-) on the classes.<br>

<br></div><div class="gmail_extra">(I was going to show a working example, but I ran out of time, and I'm taking a vacation the rest of this week.)<br clear="all">
</div><div class="gmail_extra"><br>-- <br>--Guido van Rossum (<a href="http://python.org/~guido" target="_blank">python.org/~guido</a>)
</div></div>