<?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: Excellent Overview of Functional Programming</title>
	<atom:link href="http://www.codecommit.com/blog/java/excellent-overview-of-functional-programming/feed" rel="self" type="application/rss+xml" />
	<link>http://www.codecommit.com/blog/java/excellent-overview-of-functional-programming</link>
	<description>(permanently in beta)</description>
	<lastBuildDate>Sun, 29 Aug 2010 20:01:44 -0700</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Daniel Spiewak</title>
		<link>http://www.codecommit.com/blog/java/excellent-overview-of-functional-programming/comment-page-1#comment-3178</link>
		<dc:creator>Daniel Spiewak</dc:creator>
		<pubDate>Sun, 02 Mar 2008 18:08:30 +0000</pubDate>
		<guid isPermaLink="false">http://www.codecommit.com/blog/java/excellent-overview-of-functional-programming#comment-3178</guid>
		<description>Ah, very nice!  The tail-calls alone should help a lot, though Scala already does some clever things to optimize tail recursion.  Not sure if it&#039;ll be able to actually use the runtime-level tuple type since the APIs are already designed to use TupleN[A,B,C,...]</description>
		<content:encoded><![CDATA[<p>Ah, very nice!  The tail-calls alone should help a lot, though Scala already does some clever things to optimize tail recursion.  Not sure if it&#8217;ll be able to actually use the runtime-level tuple type since the APIs are already designed to use TupleN[A,B,C,...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Joerg Gottschling</title>
		<link>http://www.codecommit.com/blog/java/excellent-overview-of-functional-programming/comment-page-1#comment-3176</link>
		<dc:creator>Joerg Gottschling</dc:creator>
		<pubDate>Sun, 02 Mar 2008 12:10:10 +0000</pubDate>
		<guid isPermaLink="false">http://www.codecommit.com/blog/java/excellent-overview-of-functional-programming#comment-3176</guid>
		<description>There was this article on InfoQ about the Da Vinci Machine, which I had in mind: 

&quot;The scope of the Da Vinci project is broader in that it targets both dynamic and functional languages.&quot;
&quot;The major sub-project is the implementation of dynamic invocation ...&quot;
&quot;... adding support for tail calls and tail recursion (via a new tailcall bytecode prefix), and tuples (using a new tagged tuple signature string).&quot;

May be this will boost Scala &amp; Co in the future. :-)</description>
		<content:encoded><![CDATA[<p>There was this article on InfoQ about the Da Vinci Machine, which I had in mind: </p>
<p>&#8220;The scope of the Da Vinci project is broader in that it targets both dynamic and functional languages.&#8221;<br />
&#8220;The major sub-project is the implementation of dynamic invocation &#8230;&#8221;<br />
&#8220;&#8230; adding support for tail calls and tail recursion (via a new tailcall bytecode prefix), and tuples (using a new tagged tuple signature string).&#8221;</p>
<p>May be this will boost Scala &amp; Co in the future. <img src='http://www.codecommit.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Daniel Spiewak</title>
		<link>http://www.codecommit.com/blog/java/excellent-overview-of-functional-programming/comment-page-1#comment-3171</link>
		<dc:creator>Daniel Spiewak</dc:creator>
		<pubDate>Sat, 01 Mar 2008 17:30:10 +0000</pubDate>
		<guid isPermaLink="false">http://www.codecommit.com/blog/java/excellent-overview-of-functional-programming#comment-3171</guid>
		<description>I think the only FP aspects to the Da Vinci machine are improved efficiency on dispatch.  It&#039;s possible that there will be some optimizations for provably immutable objects, but I somewhat doubt it.  Very few functional languages seem to be targeting the JVM.  More precisely, very few *pure* functional languages are targeting the JVM.  So while I hope that they do some optimizations for FP, I doubt that it will be anything dramatic.  I&#039;m guessing we&#039;ll see a lot more of the effort focused on dynamic languages like JRuby, Groovy and Rhino.</description>
		<content:encoded><![CDATA[<p>I think the only FP aspects to the Da Vinci machine are improved efficiency on dispatch.  It&#8217;s possible that there will be some optimizations for provably immutable objects, but I somewhat doubt it.  Very few functional languages seem to be targeting the JVM.  More precisely, very few *pure* functional languages are targeting the JVM.  So while I hope that they do some optimizations for FP, I doubt that it will be anything dramatic.  I&#8217;m guessing we&#8217;ll see a lot more of the effort focused on dynamic languages like JRuby, Groovy and Rhino.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Joerg Gottschling</title>
		<link>http://www.codecommit.com/blog/java/excellent-overview-of-functional-programming/comment-page-1#comment-3169</link>
		<dc:creator>Joerg Gottschling</dc:creator>
		<pubDate>Sat, 01 Mar 2008 11:55:17 +0000</pubDate>
		<guid isPermaLink="false">http://www.codecommit.com/blog/java/excellent-overview-of-functional-programming#comment-3169</guid>
		<description>Yes, Scala does not forbid side effects. But perhaps the compiler could mark methods as side effect free and objects a immutable. Perhaps the developer should also do this, so Scala should provide this possibiblity. But what would be the benefit? Until now the JVM does not optimize code because it is immutable - as far as I know. So could the Scala compiler use these informations and generate optimized code? Does it?

I&#039;ve read that the Da Vinci Machine should also support FP. Perhaps it supports some optimizations in this direction.</description>
		<content:encoded><![CDATA[<p>Yes, Scala does not forbid side effects. But perhaps the compiler could mark methods as side effect free and objects a immutable. Perhaps the developer should also do this, so Scala should provide this possibiblity. But what would be the benefit? Until now the JVM does not optimize code because it is immutable &#8211; as far as I know. So could the Scala compiler use these informations and generate optimized code? Does it?</p>
<p>I&#8217;ve read that the Da Vinci Machine should also support FP. Perhaps it supports some optimizations in this direction.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Daniel Spiewak</title>
		<link>http://www.codecommit.com/blog/java/excellent-overview-of-functional-programming/comment-page-1#comment-3159</link>
		<dc:creator>Daniel Spiewak</dc:creator>
		<pubDate>Thu, 28 Feb 2008 15:41:46 +0000</pubDate>
		<guid isPermaLink="false">http://www.codecommit.com/blog/java/excellent-overview-of-functional-programming#comment-3159</guid>
		<description>Unfortunately, program provers tend to fall on their faces when dealing with mutability and the imperative tendency toward side-effects.  Because Scala is a hybrid language, it doesn&#039;t actually *forbid* side-effects, meaning that it&#039;s hard for provers to just mathematically say things about a discrete function.  This is a limitation of the mathematical process itself, not really a problem with the JVM.  Any pure-functional language can be fed into a prover, regardless of its runtime.

As I understand it, the Da Vinci Machine project is designed simply as an extension to the JVM to allow for easier and more efficient expression of non-Java languages, especially dynamic languages like JRuby.  As it is part of the runtime, it doesn&#039;t really effect a program prover&#039;s ability to make statements about an algorithm.</description>
		<content:encoded><![CDATA[<p>Unfortunately, program provers tend to fall on their faces when dealing with mutability and the imperative tendency toward side-effects.  Because Scala is a hybrid language, it doesn&#8217;t actually *forbid* side-effects, meaning that it&#8217;s hard for provers to just mathematically say things about a discrete function.  This is a limitation of the mathematical process itself, not really a problem with the JVM.  Any pure-functional language can be fed into a prover, regardless of its runtime.</p>
<p>As I understand it, the Da Vinci Machine project is designed simply as an extension to the JVM to allow for easier and more efficient expression of non-Java languages, especially dynamic languages like JRuby.  As it is part of the runtime, it doesn&#8217;t really effect a program prover&#8217;s ability to make statements about an algorithm.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Joerg Gottschling</title>
		<link>http://www.codecommit.com/blog/java/excellent-overview-of-functional-programming/comment-page-1#comment-3156</link>
		<dc:creator>Joerg Gottschling</dc:creator>
		<pubDate>Thu, 28 Feb 2008 09:31:56 +0000</pubDate>
		<guid isPermaLink="false">http://www.codecommit.com/blog/java/excellent-overview-of-functional-programming#comment-3156</guid>
		<description>Hello Daniel,

I also like Scala and I like your blog very much, because of your good explanations of Scala. First thank you for this link. It points to a really impressive article in content and style.

How does Scala fit in this description of the benefits of FP, espacially &quot;Machine Assisted Proofs and Optimizations&quot;? Until now the JVM does not provide these things because it is not made for functional languages. This will perhaps change in the future (Java 7?) with the Da Vinci Machine. But until now: Are the functional parts of the Scala code optimized automatically in consideration of FP technics?

Greetings, Jörg</description>
		<content:encoded><![CDATA[<p>Hello Daniel,</p>
<p>I also like Scala and I like your blog very much, because of your good explanations of Scala. First thank you for this link. It points to a really impressive article in content and style.</p>
<p>How does Scala fit in this description of the benefits of FP, espacially &#8220;Machine Assisted Proofs and Optimizations&#8221;? Until now the JVM does not provide these things because it is not made for functional languages. This will perhaps change in the future (Java 7?) with the Da Vinci Machine. But until now: Are the functional parts of the Scala code optimized automatically in consideration of FP technics?</p>
<p>Greetings, Jörg</p>
]]></content:encoded>
	</item>
</channel>
</rss>
