<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Fri, May 22, 2015 at 10:23 AM, Jim J. Jewett <span dir="ltr"><<a href="mailto:jimjjewett@gmail.com" target="_blank">jimjjewett@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class=""><br>
<br>
At Thu May 21 22:27:50 CEST 2015, Guido wrote:<br>
<br>
> I want to encourage users to think about annotations as types,<br>
> and for most users the distinction between type and class is<br>
> too subtle,<br>
<br>
</span>So what is the distinction that you are trying to make?<br>
<br>
That a type refers to a variable (name), and a class refers to a<br>
piece of data (object) that might be bound to that name?<br></blockquote><div><br></div><div>Sort of. But really a type is something in the mind of the type checker (or the programmer) while the class is a concept that can be inspected at runtime.<br></div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Whatever the intended distinction is, please be explicit in the<br>
PEP, even if you decide to paper it over in normal code.  For<br>
example, the above distinction would help to explain why the<br>
typing types can't be directly instantiated, since they aren't<br>
meant to refer to specific data. (They can still be used as<br>
superclasses because practicality beats purity, and using them<br>
as a marker base class is practical.)<br clear="all"></blockquote><div><br></div><div>There will have to be documentation and tutorials beyond the PEP. The PEP mostly defines a standard to be used by people implementing type checkers. <br></div></div><br>-- <br><div class="gmail_signature">--Guido van Rossum (<a href="http://python.org/~guido" target="_blank">python.org/~guido</a>)</div>
</div></div>