<?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: Static Typing and Functional Languages</title>
	<atom:link href="http://etherplex.org/archives/136/feed" rel="self" type="application/rss+xml" />
	<link>http://etherplex.org/archives/136</link>
	<description>Rick Dillon&#039;s home on the net...</description>
	<lastBuildDate>Fri, 11 Jun 2010 10:26:26 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
	<item>
		<title>By: Olle Kullberg</title>
		<link>http://etherplex.org/archives/136/comment-page-1#comment-199</link>
		<dc:creator>Olle Kullberg</dc:creator>
		<pubDate>Fri, 11 Jun 2010 10:26:26 +0000</pubDate>
		<guid isPermaLink="false">http://etherplex.org/archives/136#comment-199</guid>
		<description>Mehrdad &quot;C# has the type inference&quot; &lt;- It is not true. You must mean F#</description>
		<content:encoded><![CDATA[<p>Mehrdad &#8220;C# has the type inference&#8221; &lt;- It is not true. You must mean F#</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Tony Morris</title>
		<link>http://etherplex.org/archives/136/comment-page-1#comment-183</link>
		<dc:creator>Tony Morris</dc:creator>
		<pubDate>Sat, 20 Mar 2010 12:15:39 +0000</pubDate>
		<guid isPermaLink="false">http://etherplex.org/archives/136#comment-183</guid>
		<description>The problems in Functional Java are not because of static typing. They are because of Java. I recommend taking a look at a practical static typing implementation some time.</description>
		<content:encoded><![CDATA[<p>The problems in Functional Java are not because of static typing. They are because of Java. I recommend taking a look at a practical static typing implementation some time.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Mehrdad</title>
		<link>http://etherplex.org/archives/136/comment-page-1#comment-129</link>
		<dc:creator>Mehrdad</dc:creator>
		<pubDate>Tue, 15 Sep 2009 02:54:21 +0000</pubDate>
		<guid isPermaLink="false">http://etherplex.org/archives/136#comment-129</guid>
		<description>Have you tried C# or F#? C# has the type inference and makes it a lot simpler to do the kind of tricks you were talking about. I think it is a good balance between both functional world and traditional OOP. 
I think that is needed for transition from structural and OOP to functional. Very much the same way that C++ was a transition from structural to OOP.</description>
		<content:encoded><![CDATA[<p>Have you tried C# or F#? C# has the type inference and makes it a lot simpler to do the kind of tricks you were talking about. I think it is a good balance between both functional world and traditional OOP.<br />
I think that is needed for transition from structural and OOP to functional. Very much the same way that C++ was a transition from structural to OOP.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jason Kikel</title>
		<link>http://etherplex.org/archives/136/comment-page-1#comment-123</link>
		<dc:creator>Jason Kikel</dc:creator>
		<pubDate>Thu, 03 Sep 2009 12:43:27 +0000</pubDate>
		<guid isPermaLink="false">http://etherplex.org/archives/136#comment-123</guid>
		<description>Link messed up for some reason..

The magic is called &lt;a href=&quot;http://en.wikipedia.org/wiki/Type_inference#Hindley.E2.80.93Milner_type_inference_algorithm&quot; rel=&quot;nofollow&quot;&gt;Hindley-Milner type inference&lt;/a&gt;.  It freakin&#039; saves the day.</description>
		<content:encoded><![CDATA[<p>Link messed up for some reason..</p>
<p>The magic is called <a href="http://en.wikipedia.org/wiki/Type_inference#Hindley.E2.80.93Milner_type_inference_algorithm" rel="nofollow">Hindley-Milner type inference</a>.  It freakin&#8217; saves the day.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Michael Greenberg</title>
		<link>http://etherplex.org/archives/136/comment-page-1#comment-121</link>
		<dc:creator>Michael Greenberg</dc:creator>
		<pubDate>Thu, 03 Sep 2009 02:53:15 +0000</pubDate>
		<guid isPermaLink="false">http://etherplex.org/archives/136#comment-121</guid>
		<description>http://en.wikipedia.org/wiki/Type_inference#Hindley.E2.80.93Milner_type_inference_algorithm

Type inference is a very old idea.  The Damas-Hindley-Milner algorithm was a big step in that it supported a stylized form of System F, which allows it to account for precisely the example you give.

If you&#039;re interested in learning more, check out Benjamin Pierce&#039;s book, &lt;i&gt;Types and Programming Languages&lt;/i&gt;.</description>
		<content:encoded><![CDATA[<p><a href="http://en.wikipedia.org/wiki/Type_inference#Hindley.E2.80.93Milner_type_inference_algorithm" rel="nofollow">http://en.wikipedia.org/wiki/Type_inference#Hindley.E2.80.93Milner_type_inference_algorithm</a></p>
<p>Type inference is a very old idea.  The Damas-Hindley-Milner algorithm was a big step in that it supported a stylized form of System F, which allows it to account for precisely the example you give.</p>
<p>If you&#8217;re interested in learning more, check out Benjamin Pierce&#8217;s book, <i>Types and Programming Languages</i>.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Robin Bate Boerop</title>
		<link>http://etherplex.org/archives/136/comment-page-1#comment-119</link>
		<dc:creator>Robin Bate Boerop</dc:creator>
		<pubDate>Thu, 03 Sep 2009 01:26:19 +0000</pubDate>
		<guid isPermaLink="false">http://etherplex.org/archives/136#comment-119</guid>
		<description>What do you think of Haskell? How would that change your conclusion?</description>
		<content:encoded><![CDATA[<p>What do you think of Haskell? How would that change your conclusion?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Fred Blasdel</title>
		<link>http://etherplex.org/archives/136/comment-page-1#comment-118</link>
		<dc:creator>Fred Blasdel</dc:creator>
		<pubDate>Thu, 03 Sep 2009 00:22:03 +0000</pubDate>
		<guid isPermaLink="false">http://etherplex.org/archives/136#comment-118</guid>
		<description>Hindley-Milner type inference is &lt;i&gt;not advanced&lt;/i&gt;, and it &lt;i&gt;did not take a long time to develop&lt;/i&gt;!

The original algorithm was first published in 1969, and the first ML implementation was done by Luca Cardelli in 1973 (the same year as K&amp;R C!). I&#039;m pretty sure he was an undergraduate at the time!</description>
		<content:encoded><![CDATA[<p>Hindley-Milner type inference is <i>not advanced</i>, and it <i>did not take a long time to develop</i>!</p>
<p>The original algorithm was first published in 1969, and the first ML implementation was done by Luca Cardelli in 1973 (the same year as K&amp;R C!). I&#8217;m pretty sure he was an undergraduate at the time!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Paul</title>
		<link>http://etherplex.org/archives/136/comment-page-1#comment-117</link>
		<dc:creator>Paul</dc:creator>
		<pubDate>Wed, 02 Sep 2009 23:44:41 +0000</pubDate>
		<guid isPermaLink="false">http://etherplex.org/archives/136#comment-117</guid>
		<description>Whoops, by &quot;it&quot; I meant &quot;Scala&quot;</description>
		<content:encoded><![CDATA[<p>Whoops, by &#8220;it&#8221; I meant &#8220;Scala&#8221;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Paul</title>
		<link>http://etherplex.org/archives/136/comment-page-1#comment-116</link>
		<dc:creator>Paul</dc:creator>
		<pubDate>Wed, 02 Sep 2009 23:44:16 +0000</pubDate>
		<guid isPermaLink="false">http://etherplex.org/archives/136#comment-116</guid>
		<description>Forgive me if I&#039;m wrong, but I was under the impression that it ran on the JVM, and in fact would compile down to Java files...</description>
		<content:encoded><![CDATA[<p>Forgive me if I&#8217;m wrong, but I was under the impression that it ran on the JVM, and in fact would compile down to Java files&#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Brad Clow</title>
		<link>http://etherplex.org/archives/136/comment-page-1#comment-115</link>
		<dc:creator>Brad Clow</dc:creator>
		<pubDate>Wed, 02 Sep 2009 23:10:01 +0000</pubDate>
		<guid isPermaLink="false">http://etherplex.org/archives/136#comment-115</guid>
		<description>It is interesting to note that type inference appeared in the 1970s, well before Java existed. Functional Java &#039;looks&#039; so ugly, because Java is not naturally suited to expressing these abstractions.

I suspect the statement that functional programming implies that static typing is difficult, is an error. Type system research has been motivated by a number of factors over the years, including compiler optimisations for program performance and theorem proving.</description>
		<content:encoded><![CDATA[<p>It is interesting to note that type inference appeared in the 1970s, well before Java existed. Functional Java &#8216;looks&#8217; so ugly, because Java is not naturally suited to expressing these abstractions.</p>
<p>I suspect the statement that functional programming implies that static typing is difficult, is an error. Type system research has been motivated by a number of factors over the years, including compiler optimisations for program performance and theorem proving.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
