<div class="gmail_quote">On Mon Jan 19 2015 at 10:53:52 PM Cem Karan <<a href="mailto:cfkaran2@gmail.com" target="_blank">cfkaran2@gmail.com</a>> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><br>
On Jan 19, 2015, at 3:30 PM, Devin Jeanpierre <<a href="mailto:jeanpierreda@gmail.com" target="_blank">jeanpierreda@gmail.com</a>> wrote:<br>
<br>
> On Sun, Jan 18, 2015 at 4:01 PM, Greg <<a href="mailto:greg.ewing@canterbury.ac.nz" target="_blank">greg.ewing@canterbury.ac.nz</a>> wrote:<br>
>> On 19/01/2015 8:34 a.m., Guido van Rossum wrote:<br>
>>><br>
>>> I'm putting a line in the sand: annotations are<br>
>>> for types<br>
>><br>
>><br>
>> Do you mean *static* types, or types in general?<br>
>><br>
>> If they're only for static type checking, this seems a waste of a<br>
>> facility that evaluates things at run time. Moreover, evaluating<br>
>> them at run time is actually counterproductive, since it makes<br>
>> dealing with things like forward references unnecessarily awkward.<br>
>> It also introduces useless runtime overhead. And they only address<br>
>> part of the problem, since they only apply to functions and not<br>
>> other things we might want to specify the type of.<br>
><br>
> Strong +1. The current proposal is a historical accident, it would not<br>
> be designed this way if it was designed from scratch. That's not a<br>
> nice thing to include in the core language. (Although it does happen<br>
> often, since "practicality beats purity").<br>
><br>
> I like the :: idea.<br>
<br>
+1 on the :: idea.<br>
<br>
As for the typing system, I think the proposal is pretty much spot on.  I know I've been harping on annotations being forcefully restricted to types only, but the proposal itself (the typing library, etc.) is a really good proposal.  Unless Python suddenly stops being Python, it's not too likely that any typing system can handle all possible cases of what we can do in the language (at least, not without becoming insanely unwieldy).<br></blockquote><span style="font-size:13.1999998092651px"><div class="gmail_quote"><br></div>The :: idea creates unambiguous space for static/type annotations which wouldn't even have to compile and execute and thus escape less-than-optimal solutions to the forward reference problems, all this without needlessly interfering with existing or potential uses of annotations for run-time purposes, a feature unique(?) to python.</span></div><div class="gmail_quote"><br></div><div class="gmail_quote">+1 on the :: idea.</div>