<?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: Why functional languages rock with multi-core</title>
	<atom:link href="http://prettyprint.me/2009/08/01/why-functional-languages-rock-with-multi-core/feed/" rel="self" type="application/rss+xml" />
	<link>http://prettyprint.me/2009/08/01/why-functional-languages-rock-with-multi-core/</link>
	<description>by Ran Tavory</description>
	<lastBuildDate>Thu, 01 Jul 2010 09:04:16 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Dave Bechtel</title>
		<link>http://prettyprint.me/2009/08/01/why-functional-languages-rock-with-multi-core/comment-page-1/#comment-299</link>
		<dc:creator>Dave Bechtel</dc:creator>
		<pubDate>Thu, 25 Feb 2010 22:52:47 +0000</pubDate>
		<guid isPermaLink="false">http://prettyprint.me/?p=123#comment-299</guid>
		<description>Forth lives on!</description>
		<content:encoded><![CDATA[<p>Forth lives on!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Gary Mawdsley</title>
		<link>http://prettyprint.me/2009/08/01/why-functional-languages-rock-with-multi-core/comment-page-1/#comment-34</link>
		<dc:creator>Gary Mawdsley</dc:creator>
		<pubDate>Mon, 16 Nov 2009 17:56:16 +0000</pubDate>
		<guid isPermaLink="false">http://prettyprint.me/?p=123#comment-34</guid>
		<description>very interesting...just reading about clojure myself....it is tough trying to shift thinking into a functional programming world...but interesting..will take a bit of practice

clearly its not practical for nothing ever to be shared between processes, however I can appreciate that mutable data has to be mitigated....the idea of software transaction memory seems to fit the bill quite nicely ;-)</description>
		<content:encoded><![CDATA[<p>very interesting&#8230;just reading about clojure myself&#8230;.it is tough trying to shift thinking into a functional programming world&#8230;but interesting..will take a bit of practice</p>
<p>clearly its not practical for nothing ever to be shared between processes, however I can appreciate that mutable data has to be mitigated&#8230;.the idea of software transaction memory seems to fit the bill quite nicely <img src='http://prettyprint.me/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Ori Lahav</title>
		<link>http://prettyprint.me/2009/08/01/why-functional-languages-rock-with-multi-core/comment-page-1/#comment-33</link>
		<dc:creator>Ori Lahav</dc:creator>
		<pubDate>Mon, 03 Aug 2009 09:47:37 +0000</pubDate>
		<guid isPermaLink="false">http://prettyprint.me/?p=123#comment-33</guid>
		<description>Good post Ran.
one might say that the answer of the imperative languages to the &quot;multi-core world&quot; is multi-threaded programs.
WRONG!!!!
1. multi-threaded programming in language that &quot;share stuff&quot; basically requires threads synchronization which makes things run slowly.
2. the more threads you have, the more context switches the CPU does - this is eventually not a simple task.

what functional programming is offering - run max 1 process per CPU core and share nothing between your processes.

simple to say but requires change in the way of &quot;thinking about your software&quot;.</description>
		<content:encoded><![CDATA[<p>Good post Ran.<br />
one might say that the answer of the imperative languages to the &#8220;multi-core world&#8221; is multi-threaded programs.<br />
WRONG!!!!<br />
1. multi-threaded programming in language that &#8220;share stuff&#8221; basically requires threads synchronization which makes things run slowly.<br />
2. the more threads you have, the more context switches the CPU does &#8211; this is eventually not a simple task.</p>
<p>what functional programming is offering &#8211; run max 1 process per CPU core and share nothing between your processes.</p>
<p>simple to say but requires change in the way of &#8220;thinking about your software&#8221;.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
