<br><br><div class="gmail_quote">On Thu, Nov 5, 2009 at 1:08 PM, &quot;Martin v. Löwis&quot; <span dir="ltr">&lt;<a href="mailto:martin@v.loewis.de">martin@v.loewis.de</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div class="im">&gt; Mike Krell wrote:<br>
&gt;&gt;     Well, 3to2 would then be an option for you: use Python 3 as the source<br>
&gt;&gt;     language.<br>
&gt;<br>
&gt; Making life easier for 3to2 is an *excellent* rationale for backports.<br></div></blockquote><div><br>Clarifying a bit of potentially misleading editing:  I wrote neither of the statements quoted above.  M v L wrote the first and Nick C. wrote the second. <br>
</div><div> </div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><div class="im">
</div>I&#39;m skeptical. If new features get added to 2.7: why would that simplify<br>
3to2? It couldn&#39;t *use* these features, since it surely would have to<br>
support 2.6 and earlier as well.<br>
<br>
Not sure what 3to2 would do about difficult-to-convert 3.x feature (as,<br>
perhaps, the nonlocal keyword). If it currently gives up, it then may<br>
offer you to restrict your target versions to 2.7+. Not sure whether<br>
users would use that option, though - perhaps they rather stop using<br>
nonlocal in 3.x if 3to2 cannot support it for all 2.x versions they are<br>
interested in.<br></blockquote><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<br>
Perhaps 3to2 has a work-around that still provides a good backport in<br>
most cases. Then, the backport would not make the tool any simpler: if<br>
3to2 would start using the backport, it would actually get more<br>
complicated (not easier), as it now needs to support two cases.<br></blockquote><div><br>I basically agree with you here, except perhaps for the likely
definition of &quot;versions they are interested in&quot;.  You have suggested on
several occasions that a 2.7 (or 2.8) containing new syntax such as
nonlocal would be of limited value because the vast majority of
developers interested in supporting 2.x would have to support 2.6 as
well.  I respectfully suggest that may not necessarily be the case.  I
suspect that there are lots of small fish out there like me who have
the luxury of being able to hop onto whatever version of the language
suits them the best.  Not to mention all of the new users who will be
drawn to Python over the next several years while the 3.x standard
library and third party library situation becomes more stable and
comprehensive.  Why not make the 2.x feature set the best it can be
given the likelihood that 2.x will be the most compelling alternative
to many users until the 3.x libraries mature?<br><br>Of course, it&#39;s easy for me to ask other people to the hard work.  It might be fun to take a crack at implementing nonlocal myself, but I know next to nothing about the implementation of CPython.  By the time I pestered y&#39;all with enough questions to get up to speed, you&#39;d probably wish you&#39;d just implemented it yourself -- less work :-)<br>
<br>   Mike<br></div></div>