<?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: F# Option Types</title>
	<atom:link href="http://www.markhneedham.com/blog/2009/01/02/f-option-types/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.markhneedham.com/blog/2009/01/02/f-option-types/</link>
	<description>Thoughts on Software Development</description>
	<lastBuildDate>Sat, 11 Feb 2012 23:17:00 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
	<item>
		<title>By: Reading Code: Unity at Mark Needham</title>
		<link>http://www.markhneedham.com/blog/2009/01/02/f-option-types/comment-page-1/#comment-26143</link>
		<dc:creator>Reading Code: Unity at Mark Needham</dc:creator>
		<pubDate>Tue, 03 Nov 2009 15:26:21 +0000</pubDate>
		<guid isPermaLink="false">http://www.markhneedham.com/blog/?p=797#comment-26143</guid>
		<description>[...] felt as I was reading the code that in a lot of places the option type from functional programming would have come in quite useful. There is often code similar to this [...]</description>
		<content:encoded><![CDATA[<p>[...] felt as I was reading the code that in a lot of places the option type from functional programming would have come in quite useful. There is often code similar to this [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Mark Needham</title>
		<link>http://www.markhneedham.com/blog/2009/01/02/f-option-types/comment-page-1/#comment-19543</link>
		<dc:creator>Mark Needham</dc:creator>
		<pubDate>Thu, 02 Jul 2009 11:26:40 +0000</pubDate>
		<guid isPermaLink="false">http://www.markhneedham.com/blog/?p=797#comment-19543</guid>
		<description>@Alex I think if it&#039;s just single values that we care about (as in my example) then the main benefit for me is that you&#039;re explicitly saying that the value might have a value but it might not - I guess maybe this is the same as with the nullable type in C#.

If you&#039;re doing something like iterating over a list which has Options in it then your ability to do pattern matching is much improved since you can easily distinguish between whether you are dealing with something which has a value and something which doesn&#039;t. It wouldn&#039;t be so easy if you had to distinguish between null and not null from what I understand.</description>
		<content:encoded><![CDATA[<p>@Alex I think if it&#8217;s just single values that we care about (as in my example) then the main benefit for me is that you&#8217;re explicitly saying that the value might have a value but it might not &#8211; I guess maybe this is the same as with the nullable type in C#.</p>
<p>If you&#8217;re doing something like iterating over a list which has Options in it then your ability to do pattern matching is much improved since you can easily distinguish between whether you are dealing with something which has a value and something which doesn&#8217;t. It wouldn&#8217;t be so easy if you had to distinguish between null and not null from what I understand.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Alex O.</title>
		<link>http://www.markhneedham.com/blog/2009/01/02/f-option-types/comment-page-1/#comment-19442</link>
		<dc:creator>Alex O.</dc:creator>
		<pubDate>Tue, 30 Jun 2009 13:07:32 +0000</pubDate>
		<guid isPermaLink="false">http://www.markhneedham.com/blog/?p=797#comment-19442</guid>
		<description>I am new to F# and like what I see so far.
But I&#039;d like to voice some dissent on this issue though: while the Option type helps to avoid the exception in this case, it still requires the use of a dedicated try... function, so in the end it&#039;s still the programmer&#039;s responsibility to account for a possible nullable result of an operation. In other words, this safer result handling does not come &quot;for free&quot; from the language.
So, my question: how is it fundamentally better than, say, nullable types in C# or similar functions in .NET in general (e.g. Int32.TryParse())?

Just trying to learn, that&#039;s all.</description>
		<content:encoded><![CDATA[<p>I am new to F# and like what I see so far.<br />
But I&#8217;d like to voice some dissent on this issue though: while the Option type helps to avoid the exception in this case, it still requires the use of a dedicated try&#8230; function, so in the end it&#8217;s still the programmer&#8217;s responsibility to account for a possible nullable result of an operation. In other words, this safer result handling does not come &#8220;for free&#8221; from the language.<br />
So, my question: how is it fundamentally better than, say, nullable types in C# or similar functions in .NET in general (e.g. Int32.TryParse())?</p>
<p>Just trying to learn, that&#8217;s all.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Real World Functional Programming: Book Review at Mark Needham</title>
		<link>http://www.markhneedham.com/blog/2009/01/02/f-option-types/comment-page-1/#comment-18132</link>
		<dc:creator>Real World Functional Programming: Book Review at Mark Needham</dc:creator>
		<pubDate>Wed, 03 Jun 2009 22:52:37 +0000</pubDate>
		<guid isPermaLink="false">http://www.markhneedham.com/blog/?p=797#comment-18132</guid>
		<description>[...] really like the idea of option types which I first learnt about from the book. Having the ability to explicitly define when a query [...]</description>
		<content:encoded><![CDATA[<p>[...] really like the idea of option types which I first learnt about from the book. Having the ability to explicitly define when a query [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: journal.stuffwithstuff.com &#187; Blog Archive &#187; ML-style Pattern Matching in C#</title>
		<link>http://www.markhneedham.com/blog/2009/01/02/f-option-types/comment-page-1/#comment-16858</link>
		<dc:creator>journal.stuffwithstuff.com &#187; Blog Archive &#187; ML-style Pattern Matching in C#</dc:creator>
		<pubDate>Thu, 14 May 2009 02:41:27 +0000</pubDate>
		<guid isPermaLink="false">http://www.markhneedham.com/blog/?p=797#comment-16858</guid>
		<description>[...] lot there that&#8217;s absolutely brilliant, like currying and partial application, workflows, and option types (no more NullReferenceExceptions!). But one of the first things I fell in love with in the language [...]</description>
		<content:encoded><![CDATA[<p>[...] lot there that&#8217;s absolutely brilliant, like currying and partial application, workflows, and option types (no more NullReferenceExceptions!). But one of the first things I fell in love with in the language [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Robert Pickering</title>
		<link>http://www.markhneedham.com/blog/2009/01/02/f-option-types/comment-page-1/#comment-2408</link>
		<dc:creator>Robert Pickering</dc:creator>
		<pubDate>Sat, 03 Jan 2009 08:45:52 +0000</pubDate>
		<guid isPermaLink="false">http://www.markhneedham.com/blog/?p=797#comment-2408</guid>
		<description>I&#039;ve been a big fan of using the option type instead of null for quite a while now. To me although it&#039;s just a small change, it really does lead to cleaner, safer code. I talk some more about how it can be used in this blog post:
http://strangelights.com/blog/archive/2008/12/21/1631.aspx</description>
		<content:encoded><![CDATA[<p>I&#8217;ve been a big fan of using the option type instead of null for quite a while now. To me although it&#8217;s just a small change, it really does lead to cleaner, safer code. I talk some more about how it can be used in this blog post:<br />
<a href="http://strangelights.com/blog/archive/2008/12/21/1631.aspx" rel="nofollow">http://strangelights.com/blog/archive/2008/12/21/1631.aspx</a></p>
]]></content:encoded>
	</item>
</channel>
</rss>

