<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: A curious fact about overloading in Scala</title>
	<atom:link href="http://www.drmaciver.com/2008/08/a-curious-fact-about-overloading-in-scala/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.drmaciver.com/2008/08/a-curious-fact-about-overloading-in-scala/</link>
	<description></description>
	<lastBuildDate>Wed, 10 Feb 2010 18:19:37 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: david</title>
		<link>http://www.drmaciver.com/2008/08/a-curious-fact-about-overloading-in-scala/comment-page-1/#comment-422</link>
		<dc:creator>david</dc:creator>
		<pubDate>Wed, 27 Aug 2008 08:11:51 +0000</pubDate>
		<guid isPermaLink="false">http://www.drmaciver.com/?p=219#comment-422</guid>
		<description>No, I don&#039;t think that&#039;s the case.

It&#039;s and covariant return types are the only cases of it actually being used in the Java implementation, but the Java virtual machine spec second edition documents this behaviour and predates both generics and covariant return.</description>
		<content:encoded><![CDATA[<p>No, I don&#8217;t think that&#8217;s the case.</p>
<p>It&#8217;s and covariant return types are the only cases of it actually being used in the Java implementation, but the Java virtual machine spec second edition documents this behaviour and predates both generics and covariant return.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Daniel</title>
		<link>http://www.drmaciver.com/2008/08/a-curious-fact-about-overloading-in-scala/comment-page-1/#comment-421</link>
		<dc:creator>Daniel</dc:creator>
		<pubDate>Wed, 27 Aug 2008 08:09:01 +0000</pubDate>
		<guid isPermaLink="false">http://www.drmaciver.com/?p=219#comment-421</guid>
		<description>Overloading based on return type was introduced for exactly one reason: When introducing generics with erasure, they needed &quot;bridge methods&quot;, and these would often conflict with existing &quot;real&quot; ones. To reduce the number of these clashes, they allowed to use overloading based on return type in the JVM, but not in in the compiler for &quot;normal&quot; code.</description>
		<content:encoded><![CDATA[<p>Overloading based on return type was introduced for exactly one reason: When introducing generics with erasure, they needed &#8220;bridge methods&#8221;, and these would often conflict with existing &#8220;real&#8221; ones. To reduce the number of these clashes, they allowed to use overloading based on return type in the JVM, but not in in the compiler for &#8220;normal&#8221; code.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: david</title>
		<link>http://www.drmaciver.com/2008/08/a-curious-fact-about-overloading-in-scala/comment-page-1/#comment-420</link>
		<dc:creator>david</dc:creator>
		<pubDate>Wed, 27 Aug 2008 07:51:56 +0000</pubDate>
		<guid isPermaLink="false">http://www.drmaciver.com/?p=219#comment-420</guid>
		<description>Indeed. It will confuse the hell out of java.lang.reflect too.</description>
		<content:encoded><![CDATA[<p>Indeed. It will confuse the hell out of java.lang.reflect too.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Reinier Zwitserloot</title>
		<link>http://www.drmaciver.com/2008/08/a-curious-fact-about-overloading-in-scala/comment-page-1/#comment-419</link>
		<dc:creator>Reinier Zwitserloot</dc:creator>
		<pubDate>Wed, 27 Aug 2008 07:44:00 +0000</pubDate>
		<guid isPermaLink="false">http://www.drmaciver.com/?p=219#comment-419</guid>
		<description>I&#039;m fairly sure most JVM languages, including java, won&#039;t understand this. So, cool trick, but can&#039;t use it if you need interop with other JVM languages. Which is a bit of a shame, because the whole point of JVM interop is that it&#039;s not something you program for or think about, you just get it for free.

I&#039;m guessing the original intent was for overloading based on just different return types not to be legal, but then this issue came up, and now its the status quo.</description>
		<content:encoded><![CDATA[<p>I&#8217;m fairly sure most JVM languages, including java, won&#8217;t understand this. So, cool trick, but can&#8217;t use it if you need interop with other JVM languages. Which is a bit of a shame, because the whole point of JVM interop is that it&#8217;s not something you program for or think about, you just get it for free.</p>
<p>I&#8217;m guessing the original intent was for overloading based on just different return types not to be legal, but then this issue came up, and now its the status quo.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
