<?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: The Future of D is Functional</title>
	<atom:link href="http://www.hans-eric.com/2008/04/16/the-future-of-d-is-functional/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.hans-eric.com/2008/04/16/the-future-of-d-is-functional/</link>
	<description>Hans-Eric Grönlund on software development</description>
	<lastBuildDate>Wed, 21 Dec 2011 04:18:51 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3</generator>
	<item>
		<title>By: B. Estrade</title>
		<link>http://www.hans-eric.com/2008/04/16/the-future-of-d-is-functional/comment-page-1/#comment-39882</link>
		<dc:creator>B. Estrade</dc:creator>
		<pubDate>Fri, 15 Jan 2010 16:52:21 +0000</pubDate>
		<guid isPermaLink="false">http://www.hans-eric.com/2008/04/16/the-future-of-d-is-functional/#comment-39882</guid>
		<description>Perl allows one to mix imperative and functional techniques.</description>
		<content:encoded><![CDATA[<p>Perl allows one to mix imperative and functional techniques.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: The Functional Subset of D</title>
		<link>http://www.hans-eric.com/2008/04/16/the-future-of-d-is-functional/comment-page-1/#comment-7906</link>
		<dc:creator>The Functional Subset of D</dc:creator>
		<pubDate>Tue, 20 May 2008 12:00:19 +0000</pubDate>
		<guid isPermaLink="false">http://www.hans-eric.com/2008/04/16/the-future-of-d-is-functional/#comment-7906</guid>
		<description>[...] I wrote about in an earlier post, the future of D lies in the field of functional programming. More specifically, what the creators [...]</description>
		<content:encoded><![CDATA[<p>[...] I wrote about in an earlier post, the future of D lies in the field of functional programming. More specifically, what the creators [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Joel Neely</title>
		<link>http://www.hans-eric.com/2008/04/16/the-future-of-d-is-functional/comment-page-1/#comment-6666</link>
		<dc:creator>Joel Neely</dc:creator>
		<pubDate>Sat, 03 May 2008 15:51:16 +0000</pubDate>
		<guid isPermaLink="false">http://www.hans-eric.com/2008/04/16/the-future-of-d-is-functional/#comment-6666</guid>
		<description>Scala ( http://www.scala-lang.org ) is my poster child for hybrid FP/OOP. It&#039;s been around as a research effort for a few years, but has gained considerable maturity and visibility in the past year or two. Although its syntax contains elements resembling dynamic languages (e.g. Python, Ruby, etc.) it uses compile-time type inference to achieve strong, static typing.

It is implemented on the Java Virtual Machine, compiles to Java class files, and interoperates with Java code. Those facts explain the interest shown in Scala at &quot;mainstream&quot; conferences such as JavaPolis and JavaOne, as well as smaller-scale conferences such as the JavaPosse Roundup (both 2007 and 2008) and CodeMash. One of the best introductions to the language is the presentation by Martin Odersky (the father of Scala and a major player in the history of Java generics) at JavaPolis late in 2007 ( http://parleys.com/display/PARLEYS/Scala ) .

In addition to the above, Microsoft supports full .Net &quot;citizenship&quot; for F# (their functional language based on OCaml). These facts persuade me that hybrid FP/OOP, which has been around for several years, is a serious alternative for real production development in the coming years.</description>
		<content:encoded><![CDATA[<p>Scala ( <a href="http://www.scala-lang.org" rel="nofollow">http://www.scala-lang.org</a> ) is my poster child for hybrid FP/OOP. It&#8217;s been around as a research effort for a few years, but has gained considerable maturity and visibility in the past year or two. Although its syntax contains elements resembling dynamic languages (e.g. Python, Ruby, etc.) it uses compile-time type inference to achieve strong, static typing.</p>
<p>It is implemented on the Java Virtual Machine, compiles to Java class files, and interoperates with Java code. Those facts explain the interest shown in Scala at &#8220;mainstream&#8221; conferences such as JavaPolis and JavaOne, as well as smaller-scale conferences such as the JavaPosse Roundup (both 2007 and 2008) and CodeMash. One of the best introductions to the language is the presentation by Martin Odersky (the father of Scala and a major player in the history of Java generics) at JavaPolis late in 2007 ( <a href="http://parleys.com/display/PARLEYS/Scala" rel="nofollow">http://parleys.com/display/PARLEYS/Scala</a> ) .</p>
<p>In addition to the above, Microsoft supports full .Net &#8220;citizenship&#8221; for F# (their functional language based on OCaml). These facts persuade me that hybrid FP/OOP, which has been around for several years, is a serious alternative for real production development in the coming years.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: rickhg12hs</title>
		<link>http://www.hans-eric.com/2008/04/16/the-future-of-d-is-functional/comment-page-1/#comment-5721</link>
		<dc:creator>rickhg12hs</dc:creator>
		<pubDate>Tue, 22 Apr 2008 00:33:18 +0000</pubDate>
		<guid isPermaLink="false">http://www.hans-eric.com/2008/04/16/the-future-of-d-is-functional/#comment-5721</guid>
		<description>&quot;but also lets you do low-level systems programming&quot;

Not low enough.  D can&#039;t interpret Linux kernel header files so Linux kernel modules can&#039;t be written in D and use the Linux kernel module build facility.</description>
		<content:encoded><![CDATA[<p>&#8220;but also lets you do low-level systems programming&#8221;</p>
<p>Not low enough.  D can&#8217;t interpret Linux kernel header files so Linux kernel modules can&#8217;t be written in D and use the Linux kernel module build facility.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Hans-Eric</title>
		<link>http://www.hans-eric.com/2008/04/16/the-future-of-d-is-functional/comment-page-1/#comment-5623</link>
		<dc:creator>Hans-Eric</dc:creator>
		<pubDate>Thu, 17 Apr 2008 07:47:54 +0000</pubDate>
		<guid isPermaLink="false">http://www.hans-eric.com/2008/04/16/the-future-of-d-is-functional/#comment-5623</guid>
		<description>That&#039;s probably true, unfortunately I wouldn&#039;t know anything about it (I haven&#039;t had time to dig into those languages yet, probably will - F# seems promising) The difference (I&#039;m guessing here) is that those are functional languages with an imperative subset, while D will be an imperative language with a functional subset.</description>
		<content:encoded><![CDATA[<p>That&#8217;s probably true, unfortunately I wouldn&#8217;t know anything about it (I haven&#8217;t had time to dig into those languages yet, probably will &#8211; F# seems promising) The difference (I&#8217;m guessing here) is that those are functional languages with an imperative subset, while D will be an imperative language with a functional subset.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Hans-Eric</title>
		<link>http://www.hans-eric.com/2008/04/16/the-future-of-d-is-functional/comment-page-1/#comment-5622</link>
		<dc:creator>Hans-Eric</dc:creator>
		<pubDate>Thu, 17 Apr 2008 07:40:36 +0000</pubDate>
		<guid isPermaLink="false">http://www.hans-eric.com/2008/04/16/the-future-of-d-is-functional/#comment-5622</guid>
		<description>I like the attempt to unite these two paradigms, but I, like you I guess, am not sure it&#039;s the best solution.</description>
		<content:encoded><![CDATA[<p>I like the attempt to unite these two paradigms, but I, like you I guess, am not sure it&#8217;s the best solution.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Hans-Eric</title>
		<link>http://www.hans-eric.com/2008/04/16/the-future-of-d-is-functional/comment-page-1/#comment-5621</link>
		<dc:creator>Hans-Eric</dc:creator>
		<pubDate>Thu, 17 Apr 2008 07:11:18 +0000</pubDate>
		<guid isPermaLink="false">http://www.hans-eric.com/2008/04/16/the-future-of-d-is-functional/#comment-5621</guid>
		<description>Thank you for your input. I don&#039;t know much about the functional languages you mention, but for the imperative ones (javascript and ruby) they don&#039;t have mechanisms to enforce &quot;purely&quot; functional constructs, and thus cannot take functional advantages like parallelism on a compiler level. 
But, maybe I should change my claim to: &quot;Mixing pure functional &lt;i&gt;into a&lt;/i&gt; main stream imperative &lt;i&gt;language&lt;/i&gt; is bleeding-edge.&quot;
The other way around might have already been done, as you indicated, in languages like OCaml and F#. But I wouldn&#039;t know anything about it.</description>
		<content:encoded><![CDATA[<p>Thank you for your input. I don&#8217;t know much about the functional languages you mention, but for the imperative ones (javascript and ruby) they don&#8217;t have mechanisms to enforce &#8220;purely&#8221; functional constructs, and thus cannot take functional advantages like parallelism on a compiler level.<br />
But, maybe I should change my claim to: &#8220;Mixing pure functional <i>into a</i> main stream imperative <i>language</i> is bleeding-edge.&#8221;<br />
The other way around might have already been done, as you indicated, in languages like OCaml and F#. But I wouldn&#8217;t know anything about it.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Hans-Eric</title>
		<link>http://www.hans-eric.com/2008/04/16/the-future-of-d-is-functional/comment-page-1/#comment-5620</link>
		<dc:creator>Hans-Eric</dc:creator>
		<pubDate>Thu, 17 Apr 2008 06:59:57 +0000</pubDate>
		<guid isPermaLink="false">http://www.hans-eric.com/2008/04/16/the-future-of-d-is-functional/#comment-5620</guid>
		<description>True, but I have a couple of small objections: 
1. The invariant keyword is long, and must probably be used all over the place. 
2. As suggested, all pure functions needs to be marked with the &quot;pure&quot; keyword. That makes it two new keywords.
3. Just because it&#039;s less verbose than some other language doesn&#039;t make it better. 
But I see what you mean, and I&#039;m not negative about the functional subset. I&#039;m merely venting concerns.</description>
		<content:encoded><![CDATA[<p>True, but I have a couple of small objections:<br />
1. The invariant keyword is long, and must probably be used all over the place.<br />
2. As suggested, all pure functions needs to be marked with the &#8220;pure&#8221; keyword. That makes it two new keywords.<br />
3. Just because it&#8217;s less verbose than some other language doesn&#8217;t make it better.<br />
But I see what you mean, and I&#8217;m not negative about the functional subset. I&#8217;m merely venting concerns.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Erik</title>
		<link>http://www.hans-eric.com/2008/04/16/the-future-of-d-is-functional/comment-page-1/#comment-5609</link>
		<dc:creator>Erik</dc:creator>
		<pubDate>Thu, 17 Apr 2008 02:38:56 +0000</pubDate>
		<guid isPermaLink="false">http://www.hans-eric.com/2008/04/16/the-future-of-d-is-functional/#comment-5609</guid>
		<description>D is merely trying to catch up to what OCaml and F# has already achieved.</description>
		<content:encoded><![CDATA[<p>D is merely trying to catch up to what OCaml and F# has already achieved.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Marcus</title>
		<link>http://www.hans-eric.com/2008/04/16/the-future-of-d-is-functional/comment-page-1/#comment-5602</link>
		<dc:creator>Marcus</dc:creator>
		<pubDate>Wed, 16 Apr 2008 19:40:37 +0000</pubDate>
		<guid isPermaLink="false">http://www.hans-eric.com/2008/04/16/the-future-of-d-is-functional/#comment-5602</guid>
		<description>This reminds me a great deal about that talk Tim Sweeney had at some conference a few years back, &lt;a href=&quot;http://www.scribd.com/doc/5687/The-Next-Mainstream-Programming-Language-A-Game-Developers-Perspective-by-Tim-Sweeney&quot; rel=&quot;nofollow&quot;&gt;http://www.scribd.com/doc/5687/The-Next-Mainstream-Programming-Language-A-Game-Developers-Perspective-by-Tim-Sweeney&lt;/a&gt;.

Hopefully I&#039;ll get the chance to use D in a real project some time in the near future.</description>
		<content:encoded><![CDATA[<p>This reminds me a great deal about that talk Tim Sweeney had at some conference a few years back, <a href="http://www.scribd.com/doc/5687/The-Next-Mainstream-Programming-Language-A-Game-Developers-Perspective-by-Tim-Sweeney" rel="nofollow">http://www.scribd.com/doc/5687/The-Next-Mainstream-Programming-Language-A-Game-Developers-Perspective-by-Tim-Sweeney</a>.</p>
<p>Hopefully I&#8217;ll get the chance to use D in a real project some time in the near future.</p>
]]></content:encoded>
	</item>
</channel>
</rss>

