<?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/"
	xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd"
	>
<channel>
	<title>Comments on: How Ocaml Can Be Improved</title>
	<atom:link href="http://enfranchisedmind.com/blog/posts/why-ocaml-sucks/feed/" rel="self" type="application/rss+xml" />
	<link>http://enfranchisedmind.com/blog/posts/why-ocaml-sucks/</link>
	<description>programming, politics, &#38; other religious issues</description>
	<lastBuildDate>Mon, 15 Mar 2010 00:31:40 +0000</lastBuildDate>
	
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: orbitz</title>
		<link>http://enfranchisedmind.com/blog/posts/why-ocaml-sucks/#comment-37059</link>
		<dc:creator>orbitz</dc:creator>
		<pubDate>Thu, 03 Dec 2009 14:45:30 +0000</pubDate>
		<guid isPermaLink="false">http://enfranchisedmind.com/blog/?p=395#comment-37059</guid>
		<description>Have you looked at Jocaml at all?  I&#039;m not sure it&#039;s maintained much but Join Calculus is pretty neat for concurrency.</description>
		<content:encoded><![CDATA[<p>Have you looked at Jocaml at all?  I&#8217;m not sure it&#8217;s maintained much but Join Calculus is pretty neat for concurrency.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Andrew</title>
		<link>http://enfranchisedmind.com/blog/posts/why-ocaml-sucks/#comment-37058</link>
		<dc:creator>Andrew</dc:creator>
		<pubDate>Thu, 03 Dec 2009 14:05:33 +0000</pubDate>
		<guid isPermaLink="false">http://enfranchisedmind.com/blog/?p=395#comment-37058</guid>
		<description>Sorry it wasn&#039;t a general bash at OCaml but at my frustrations with aspects of Scheme and finding that OCaml wasn&#039;t any better and probably worse because it lacked the benefit that Scheme had in s-expressions but with no compensatory features other than a few more libraries. 

I&#039;ll have a look at Haskell - Thanks.

I agree that parallelism in Java is dangerous as it is with all imperative languages and yet no Scheme implementation nor OCaml exploits the natural advantage of a functional language to provide native thread parallelism.</description>
		<content:encoded><![CDATA[<p>Sorry it wasn&#8217;t a general bash at OCaml but at my frustrations with aspects of Scheme and finding that OCaml wasn&#8217;t any better and probably worse because it lacked the benefit that Scheme had in s-expressions but with no compensatory features other than a few more libraries. </p>
<p>I&#8217;ll have a look at Haskell &#8211; Thanks.</p>
<p>I agree that parallelism in Java is dangerous as it is with all imperative languages and yet no Scheme implementation nor OCaml exploits the natural advantage of a functional language to provide native thread parallelism.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: orbitz</title>
		<link>http://enfranchisedmind.com/blog/posts/why-ocaml-sucks/#comment-37056</link>
		<dc:creator>orbitz</dc:creator>
		<pubDate>Thu, 03 Dec 2009 00:33:11 +0000</pubDate>
		<guid isPermaLink="false">http://enfranchisedmind.com/blog/?p=395#comment-37056</guid>
		<description>I have to disagree with some of your criticisms Andrew.

1) Some people find Scheme syntax ugly.  Beauty is in the eye of the beholder.  I quite like ML syntax.

2) Are you just referring to the lack of call/cc?  You don&#039;t need any special language features to do CPS.

3) I&#039;m unsure of what benefits function overloading based on type gives you.  If you watch Minksy&#039;s caml trading video you can see that is the exact kind of feature they do not want.  IMO, one of OCaml&#039;s major benefits is how explicit you need to be.  This is handy especially with type inferencing.  One of Minsky&#039;s major points is they don&#039;t want to have to root around the code to try to understand what the page of code they are looking at does.  This is important if you want to write very dependable code.  But are you criticizing OCaml here or functional languages in general?  Haskell has the ability to overload an operator based on type assuming it is part of a typeclass.

4) OCaml does suck at concurrency/parallelism.  But, again, are you arguing that functional languages in general have failed at this or just OCaml?  Erlang and Haskell have two very excellent concurrency models and both are functional.  Both languages make full use of some of the benefits the power of functional languages.  And let&#039;s not forget Clojure.  And IMO, Java may have had concurrency/parallelism for a decade but it is pretty atrocious, not much better than OCaml&#039;s.

I do agree that OCaml has its faults but I would argue there is a decent functional language out there, and her name is Haskell.</description>
		<content:encoded><![CDATA[<p>I have to disagree with some of your criticisms Andrew.</p>
<p>1) Some people find Scheme syntax ugly.  Beauty is in the eye of the beholder.  I quite like ML syntax.</p>
<p>2) Are you just referring to the lack of call/cc?  You don&#8217;t need any special language features to do CPS.</p>
<p>3) I&#8217;m unsure of what benefits function overloading based on type gives you.  If you watch Minksy&#8217;s caml trading video you can see that is the exact kind of feature they do not want.  IMO, one of OCaml&#8217;s major benefits is how explicit you need to be.  This is handy especially with type inferencing.  One of Minsky&#8217;s major points is they don&#8217;t want to have to root around the code to try to understand what the page of code they are looking at does.  This is important if you want to write very dependable code.  But are you criticizing OCaml here or functional languages in general?  Haskell has the ability to overload an operator based on type assuming it is part of a typeclass.</p>
<p>4) OCaml does suck at concurrency/parallelism.  But, again, are you arguing that functional languages in general have failed at this or just OCaml?  Erlang and Haskell have two very excellent concurrency models and both are functional.  Both languages make full use of some of the benefits the power of functional languages.  And let&#8217;s not forget Clojure.  And IMO, Java may have had concurrency/parallelism for a decade but it is pretty atrocious, not much better than OCaml&#8217;s.</p>
<p>I do agree that OCaml has its faults but I would argue there is a decent functional language out there, and her name is Haskell.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Andrew</title>
		<link>http://enfranchisedmind.com/blog/posts/why-ocaml-sucks/#comment-37055</link>
		<dc:creator>Andrew</dc:creator>
		<pubDate>Wed, 02 Dec 2009 18:34:47 +0000</pubDate>
		<guid isPermaLink="false">http://enfranchisedmind.com/blog/?p=395#comment-37055</guid>
		<description>Why isn&#039;t there a decent functional language ? I&#039;m a Scheme programmer but realizing that I&#039;m the only one within about 500 miles and can&#039;t possibly write all the libraries that I&#039;ll ever need I&#039;ve had a serious look at OCaml.

One look at the disgusting syntax, the lack of continuations and macros convinces me that OCaml is a bad idea.

Why can&#039;t OCaml have overloaded functions i.e. include the argument types in the function signature like Java does with methods, that way you could have arithmetic operators that deal appropriately with integers, floats or any other type rather than having completely different operators. Whilst you are at it, can you add a full numeric tower like Scheme and then you could actually use it easily for computations that need to be accurate rather than approximations or just overflow.

Parallelism is a big one for me too, there isn&#039;t a decent Scheme implementation for this either - why, why, why as functional programming should make this easier. Java has done this for a decade.

Personally, I think it would be easier to add parallelism and static typing into Scheme (and write a few libaries) rather than trying to address everything that is wrong with OCaml. I would miss the s-expressions - it&#039;s such a beautifully simple and powerful concept.</description>
		<content:encoded><![CDATA[<p>Why isn&#8217;t there a decent functional language ? I&#8217;m a Scheme programmer but realizing that I&#8217;m the only one within about 500 miles and can&#8217;t possibly write all the libraries that I&#8217;ll ever need I&#8217;ve had a serious look at OCaml.</p>
<p>One look at the disgusting syntax, the lack of continuations and macros convinces me that OCaml is a bad idea.</p>
<p>Why can&#8217;t OCaml have overloaded functions i.e. include the argument types in the function signature like Java does with methods, that way you could have arithmetic operators that deal appropriately with integers, floats or any other type rather than having completely different operators. Whilst you are at it, can you add a full numeric tower like Scheme and then you could actually use it easily for computations that need to be accurate rather than approximations or just overflow.</p>
<p>Parallelism is a big one for me too, there isn&#8217;t a decent Scheme implementation for this either &#8211; why, why, why as functional programming should make this easier. Java has done this for a decade.</p>
<p>Personally, I think it would be easier to add parallelism and static typing into Scheme (and write a few libaries) rather than trying to address everything that is wrong with OCaml. I would miss the s-expressions &#8211; it&#8217;s such a beautifully simple and powerful concept.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: The Blog&#8217;s Most Popular Posts &#124; Enfranchised Mind</title>
		<link>http://enfranchisedmind.com/blog/posts/why-ocaml-sucks/#comment-34394</link>
		<dc:creator>The Blog&#8217;s Most Popular Posts &#124; Enfranchised Mind</dc:creator>
		<pubDate>Sun, 12 Apr 2009 19:23:17 +0000</pubDate>
		<guid isPermaLink="false">http://enfranchisedmind.com/blog/?p=395#comment-34394</guid>
		<description>[...] How Ocaml Can Be Improved [...]</description>
		<content:encoded><![CDATA[<p>[...] How Ocaml Can Be Improved [...]</p>
]]></content:encoded>
	</item>
</channel>
</rss>
