<?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"
	>
<channel>
	<title>Comments on: Functional programming - coming to a compiler near you soon?</title>
	<atom:link href="http://successfulsoftware.net/2008/04/07/functional-programming-coming-to-a-compiler-near-you-soon/feed/" rel="self" type="application/rss+xml" />
	<link>http://successfulsoftware.net/2008/04/07/functional-programming-coming-to-a-compiler-near-you-soon/</link>
	<description>Successful software requires more than just good programming.</description>
	<pubDate>Fri, 16 May 2008 18:59:16 +0000</pubDate>
	<generator>http://wordpress.org/?v=MU</generator>
		<item>
		<title>By: Wendy (Skills Matter)</title>
		<link>http://successfulsoftware.net/2008/04/07/functional-programming-coming-to-a-compiler-near-you-soon/#comment-10216</link>
		<dc:creator>Wendy (Skills Matter)</dc:creator>
		<pubDate>Tue, 08 Apr 2008 15:24:54 +0000</pubDate>
		<guid isPermaLink="false">http://successfulsoftware.wordpress.com/?p=328#comment-10216</guid>
		<description>For anyone interested in functional programming, we are organising the First International Erlang eXchange in London on June 26th-27th. 

http://www.erlang-exchange.com

With over 30 speakers, including Erlang Creator Joe Armstrong, Dennis Byrne (JInterface creator) and other experts, presenting talks, practical workshops and leading discussions on Erlang, concurrent programming and functional programming, this 2 day event in London will be the ultimate platform to learn, network and exchange ideas!

Tickets go at GBP 300, but if you register on or before May 1st, they are just 250. Tickets are limited to just 200 people and, particularly the last 2 weeks, tickets are going very very fast, so if you fancy coming, get your skates on!

More information and registration: http://www.erlang-exchange.com</description>
		<content:encoded><![CDATA[<p>For anyone interested in functional programming, we are organising the First International Erlang eXchange in London on June 26th-27th. </p>
<p><a href="http://www.erlang-exchange.com" rel="nofollow">http://www.erlang-exchange.com</a></p>
<p>With over 30 speakers, including Erlang Creator Joe Armstrong, Dennis Byrne (JInterface creator) and other experts, presenting talks, practical workshops and leading discussions on Erlang, concurrent programming and functional programming, this 2 day event in London will be the ultimate platform to learn, network and exchange ideas!</p>
<p>Tickets go at GBP 300, but if you register on or before May 1st, they are just 250. Tickets are limited to just 200 people and, particularly the last 2 weeks, tickets are going very very fast, so if you fancy coming, get your skates on!</p>
<p>More information and registration: <a href="http://www.erlang-exchange.com" rel="nofollow">http://www.erlang-exchange.com</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Andy Brice</title>
		<link>http://successfulsoftware.net/2008/04/07/functional-programming-coming-to-a-compiler-near-you-soon/#comment-10214</link>
		<dc:creator>Andy Brice</dc:creator>
		<pubDate>Tue, 08 Apr 2008 07:15:22 +0000</pubDate>
		<guid isPermaLink="false">http://successfulsoftware.wordpress.com/?p=328#comment-10214</guid>
		<description>Bob,

Obviously any classification of languages is going to be simplification of the reality. All sorts of other classifications are also possible. I think it usefully illustrates a point for this article nonetheless.</description>
		<content:encoded><![CDATA[<p>Bob,</p>
<p>Obviously any classification of languages is going to be simplification of the reality. All sorts of other classifications are also possible. I think it usefully illustrates a point for this article nonetheless.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Bob Foster</title>
		<link>http://successfulsoftware.net/2008/04/07/functional-programming-coming-to-a-compiler-near-you-soon/#comment-10213</link>
		<dc:creator>Bob Foster</dc:creator>
		<pubDate>Tue, 08 Apr 2008 01:28:34 +0000</pubDate>
		<guid isPermaLink="false">http://successfulsoftware.wordpress.com/?p=328#comment-10213</guid>
		<description>Memory plays tricks. Actually FOOL was the MCC hybrid of all three paradigms. Functional. Object-Oriented. Logic. More fool I, I blew the punch line. ;-}</description>
		<content:encoded><![CDATA[<p>Memory plays tricks. Actually FOOL was the MCC hybrid of all three paradigms. Functional. Object-Oriented. Logic. More fool I, I blew the punch line. ;-}</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Bob Foster</title>
		<link>http://successfulsoftware.net/2008/04/07/functional-programming-coming-to-a-compiler-near-you-soon/#comment-10212</link>
		<dc:creator>Bob Foster</dc:creator>
		<pubDate>Tue, 08 Apr 2008 01:20:47 +0000</pubDate>
		<guid isPermaLink="false">http://successfulsoftware.wordpress.com/?p=328#comment-10212</guid>
		<description>"We can classify programming languages into a simple taxonomy"

Not so. It's trivially easy to show that programming languages can't be sorted into four neat little piles. The piles overlap. Like anthills built too close together, they share both outer surface and inner features. Prolog has functional features. CAML and Java have procedural features. Common LISP has a bit of everything. In fact, I believe your point is that functional features can be injected into the language of your choice.

Not only do the categories dissolve at the edges, they aren't sufficiently bifurcated. Following Colmerauer, Prolog is a special case of constraint programming. To "fix" the diagram, CP should be pushed to the top and Prolog down a level, with its peers added. There are "pure" OOP languages like Smalltalk and impure ones like Java. This may be worthy of an additional level.

But this node-splitting produces increasingly disturbing results. For example, suppose instead of splitting on the attributes "pure" and "impure" one chose to split OOP on "(not) suitable for concurrent programs". This would surely put Java in a separate pile from C++ and both rather far from the pile that contains Erlang. If instead one split OOP on "(non) contractual", Eiffel would be king of its own hill while all the others would find themselves roomies.

The notion that programming languages can be sorted into a simple taxonomy is one of the persistent errors of computer science, as is the notion that issues with one branch of the tree can be resolved (or at least greatly improved) by an infusion of ideas from another branch. It is too bad that the 80's fumblings of the Microelectronics Computer Consortium (MCC) are not more widely publicized. Then everyone would know that you can't make a great leap forward by crossing functional and logic (FOOL) or all three of the not discredited paradigms (FLOOP). Instead, you get a mess.

Any useful sort on programming languages must be multi-dimensional, in terms of the attributes that give each language a reason to exist.   Phrasing the debate in terms of four tired categories is a habit we all must break.</description>
		<content:encoded><![CDATA[<p>&#8220;We can classify programming languages into a simple taxonomy&#8221;</p>
<p>Not so. It&#8217;s trivially easy to show that programming languages can&#8217;t be sorted into four neat little piles. The piles overlap. Like anthills built too close together, they share both outer surface and inner features. Prolog has functional features. CAML and Java have procedural features. Common LISP has a bit of everything. In fact, I believe your point is that functional features can be injected into the language of your choice.</p>
<p>Not only do the categories dissolve at the edges, they aren&#8217;t sufficiently bifurcated. Following Colmerauer, Prolog is a special case of constraint programming. To &#8220;fix&#8221; the diagram, CP should be pushed to the top and Prolog down a level, with its peers added. There are &#8220;pure&#8221; OOP languages like Smalltalk and impure ones like Java. This may be worthy of an additional level.</p>
<p>But this node-splitting produces increasingly disturbing results. For example, suppose instead of splitting on the attributes &#8220;pure&#8221; and &#8220;impure&#8221; one chose to split OOP on &#8220;(not) suitable for concurrent programs&#8221;. This would surely put Java in a separate pile from C++ and both rather far from the pile that contains Erlang. If instead one split OOP on &#8220;(non) contractual&#8221;, Eiffel would be king of its own hill while all the others would find themselves roomies.</p>
<p>The notion that programming languages can be sorted into a simple taxonomy is one of the persistent errors of computer science, as is the notion that issues with one branch of the tree can be resolved (or at least greatly improved) by an infusion of ideas from another branch. It is too bad that the 80&#8217;s fumblings of the Microelectronics Computer Consortium (MCC) are not more widely publicized. Then everyone would know that you can&#8217;t make a great leap forward by crossing functional and logic (FOOL) or all three of the not discredited paradigms (FLOOP). Instead, you get a mess.</p>
<p>Any useful sort on programming languages must be multi-dimensional, in terms of the attributes that give each language a reason to exist.   Phrasing the debate in terms of four tired categories is a habit we all must break.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Andy Brice</title>
		<link>http://successfulsoftware.net/2008/04/07/functional-programming-coming-to-a-compiler-near-you-soon/#comment-10211</link>
		<dc:creator>Andy Brice</dc:creator>
		<pubDate>Mon, 07 Apr 2008 14:32:17 +0000</pubDate>
		<guid isPermaLink="false">http://successfulsoftware.wordpress.com/?p=328#comment-10211</guid>
		<description>Andy,

I didn't realise there were multiple implementation. Thanks for the clarification. It would be interesting to compare the two implementations for performance and number of lines of code.</description>
		<content:encoded><![CDATA[<p>Andy,</p>
<p>I didn&#8217;t realise there were multiple implementation. Thanks for the clarification. It would be interesting to compare the two implementations for performance and number of lines of code.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Andy Brice</title>
		<link>http://successfulsoftware.net/2008/04/07/functional-programming-coming-to-a-compiler-near-you-soon/#comment-10210</link>
		<dc:creator>Andy Brice</dc:creator>
		<pubDate>Mon, 07 Apr 2008 14:30:21 +0000</pubDate>
		<guid isPermaLink="false">http://successfulsoftware.wordpress.com/?p=328#comment-10210</guid>
		<description>I think I have got the example right now. Doh! I've been up most of the night with a sick child. Thats my excuse and I'm sticking to it.</description>
		<content:encoded><![CDATA[<p>I think I have got the example right now. Doh! I&#8217;ve been up most of the night with a sick child. Thats my excuse and I&#8217;m sticking to it.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Andy Lester</title>
		<link>http://successfulsoftware.net/2008/04/07/functional-programming-coming-to-a-compiler-near-you-soon/#comment-10209</link>
		<dc:creator>Andy Lester</dc:creator>
		<pubDate>Mon, 07 Apr 2008 13:57:15 +0000</pubDate>
		<guid isPermaLink="false">http://successfulsoftware.wordpress.com/?p=328#comment-10209</guid>
		<description>It's inaccurate to say "the Perl 6 compiler is being written in Haskell."  Perl 6 is a specification, and there may well be multiple implementations, just like C or Java.

There is an implementation of Perl 6 being written in Haskell called Pugs, and there is also an implementation of Perl 6 being written in Parrot called Rakudo.  For more information about Rakudo, see http://www.rakudo.org/</description>
		<content:encoded><![CDATA[<p>It&#8217;s inaccurate to say &#8220;the Perl 6 compiler is being written in Haskell.&#8221;  Perl 6 is a specification, and there may well be multiple implementations, just like C or Java.</p>
<p>There is an implementation of Perl 6 being written in Haskell called Pugs, and there is also an implementation of Perl 6 being written in Parrot called Rakudo.  For more information about Rakudo, see <a href="http://www.rakudo.org/" rel="nofollow">http://www.rakudo.org/</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Matt Schinckel</title>
		<link>http://successfulsoftware.net/2008/04/07/functional-programming-coming-to-a-compiler-near-you-soon/#comment-10208</link>
		<dc:creator>Matt Schinckel</dc:creator>
		<pubDate>Mon, 07 Apr 2008 13:56:12 +0000</pubDate>
		<guid isPermaLink="false">http://successfulsoftware.wordpress.com/?p=328#comment-10208</guid>
		<description>I think with:

y = f(x) * f(x);

You really mean:

y = f(x) + f(x);

Else the other stuff underneath it isn't quite true.  Either than or you mean:

y = z * z;

(I love scheme, I really do...)</description>
		<content:encoded><![CDATA[<p>I think with:</p>
<p>y = f(x) * f(x);</p>
<p>You really mean:</p>
<p>y = f(x) + f(x);</p>
<p>Else the other stuff underneath it isn&#8217;t quite true.  Either than or you mean:</p>
<p>y = z * z;</p>
<p>(I love scheme, I really do&#8230 <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Steve Moyer</title>
		<link>http://successfulsoftware.net/2008/04/07/functional-programming-coming-to-a-compiler-near-you-soon/#comment-10206</link>
		<dc:creator>Steve Moyer</dc:creator>
		<pubDate>Mon, 07 Apr 2008 13:51:58 +0000</pubDate>
		<guid isPermaLink="false">http://successfulsoftware.wordpress.com/?p=328#comment-10206</guid>
		<description>I hope that the fixed version still includes a mistake (or I'm really missing the point).  Is the operator in the first equation correct?</description>
		<content:encoded><![CDATA[<p>I hope that the fixed version still includes a mistake (or I&#8217;m really missing the point).  Is the operator in the first equation correct?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Andy Brice</title>
		<link>http://successfulsoftware.net/2008/04/07/functional-programming-coming-to-a-compiler-near-you-soon/#comment-10205</link>
		<dc:creator>Andy Brice</dc:creator>
		<pubDate>Mon, 07 Apr 2008 13:32:37 +0000</pubDate>
		<guid isPermaLink="false">http://successfulsoftware.wordpress.com/?p=328#comment-10205</guid>
		<description>Peter,

There was a mistake. I have fixed it now. Thanks.</description>
		<content:encoded><![CDATA[<p>Peter,</p>
<p>There was a mistake. I have fixed it now. Thanks.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
