<?xml version="1.0" encoding="UTF-8"?><!-- generator="wordpress/2.0.4" -->
<rss version="2.0" 
	xmlns:content="http://purl.org/rss/1.0/modules/content/">
<channel>
	<title>Comments on: On teaching programming with Python 3.0</title>
	<link>http://efford.org/blog/archives/38</link>
	<description>Random musings on Python, software engineering, the web &#038; other stuff</description>
	<pubDate>Thu, 04 Dec 2008 01:30:47 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.0.4</generator>

	<item>
		<title>by: Nick</title>
		<link>http://efford.org/blog/archives/38#comment-31257</link>
		<pubDate>Wed, 09 Apr 2008 11:22:14 +0000</pubDate>
		<guid>http://efford.org/blog/archives/38#comment-31257</guid>
					<description>ricegf: that's certainly true.  I can't think of many use cases where you'd want to return the old behaviour, though.</description>
		<content:encoded><![CDATA[<p>ricegf: that&#8217;s certainly true.  I can&#8217;t think of many use cases where you&#8217;d want to return the old behaviour, though.
</p>
]]></content:encoded>
				</item>
	<item>
		<title>by: ricegf</title>
		<link>http://efford.org/blog/archives/38#comment-31256</link>
		<pubDate>Wed, 09 Apr 2008 11:09:43 +0000</pubDate>
		<guid>http://efford.org/blog/archives/38#comment-31256</guid>
					<description>You state "it is no longer possible to sort lists that contain a mixture of incompatible types", but this isn't really the case.  You can always define your own comparison operator that defines some ordering for the incompatible types, and pass that to sort.

The difference with 3.0 is that you can no longer blame Guido!  ;-)</description>
		<content:encoded><![CDATA[<p>You state &#8220;it is no longer possible to sort lists that contain a mixture of incompatible types&#8221;, but this isn&#8217;t really the case.  You can always define your own comparison operator that defines some ordering for the incompatible types, and pass that to sort.</p>
<p>The difference with 3.0 is that you can no longer blame Guido!  <img src='http://efford.org/blog/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' />
</p>
]]></content:encoded>
				</item>
	<item>
		<title>by: Nick</title>
		<link>http://efford.org/blog/archives/38#comment-31191</link>
		<pubDate>Tue, 08 Apr 2008 23:09:04 +0000</pubDate>
		<guid>http://efford.org/blog/archives/38#comment-31191</guid>
					<description>Collin: thanks for this.  Our experiments have reassured us that 2to3 is already a pretty effective tool for assisting with the transition to 3.0, but further refinement would of course be very welcome!

Andre: glad you found it to be interesting!</description>
		<content:encoded><![CDATA[<p>Collin: thanks for this.  Our experiments have reassured us that 2to3 is already a pretty effective tool for assisting with the transition to 3.0, but further refinement would of course be very welcome!</p>
<p>Andre: glad you found it to be interesting!
</p>
]]></content:encoded>
				</item>
	<item>
		<title>by: André Roberge</title>
		<link>http://efford.org/blog/archives/38#comment-31170</link>
		<pubDate>Tue, 08 Apr 2008 20:07:45 +0000</pubDate>
		<guid>http://efford.org/blog/archives/38#comment-31170</guid>
					<description>Very interesting paper.  Thank you for sharing.</description>
		<content:encoded><![CDATA[<p>Very interesting paper.  Thank you for sharing.
</p>
]]></content:encoded>
				</item>
	<item>
		<title>by: Collin Winter</title>
		<link>http://efford.org/blog/archives/38#comment-31160</link>
		<pubDate>Tue, 08 Apr 2008 19:13:55 +0000</pubDate>
		<guid>http://efford.org/blog/archives/38#comment-31160</guid>
					<description>I've just submitted r62226 to http://svn.python.org/view/sandbox/trunk/2to3/ that will make 2to3 produce more idiomatic code when given "return max(self.data.values())". I'll also see what I can do about reducing the redundancy in "isinstance(x, (int, long))" -&#62; "isinstance(x, (int, int))".

As for the division issue you point out, I doubt 2to3 will ever be able to handle that: generalized type inference is out of our scope. Python 2.6's future compatibility mode (the -3 flag) should be able to handle this, though. I can bring it up with Guido.

There may be something I can do about the range() problem, though. I'll let you know. I've filed http://bugs.python.org/issue2596 to track the issue.</description>
		<content:encoded><![CDATA[<p>I&#8217;ve just submitted r62226 to <a href='http://svn.python.org/view/sandbox/trunk/2to3/' rel='nofollow'>http://svn.python.org/view/sandbox/trunk/2to3/</a> that will make 2to3 produce more idiomatic code when given &#8220;return max(self.data.values())&#8221;. I&#8217;ll also see what I can do about reducing the redundancy in &#8220;isinstance(x, (int, long))&#8221; -&gt; &#8220;isinstance(x, (int, int))&#8221;.</p>
<p>As for the division issue you point out, I doubt 2to3 will ever be able to handle that: generalized type inference is out of our scope. Python 2.6&#8217;s future compatibility mode (the -3 flag) should be able to handle this, though. I can bring it up with Guido.</p>
<p>There may be something I can do about the range() problem, though. I&#8217;ll let you know. I&#8217;ve filed <a href='http://bugs.python.org/issue2596' rel='nofollow'>http://bugs.python.org/issue2596</a> to track the issue.
</p>
]]></content:encoded>
				</item>
</channel>
</rss>
