<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>A C# library to write functional code - Part III - Records</title><link>http://blogs.msdn.com/lucabol/archive/2008/04/21/a-c-library-to-write-functional-code-part-iii-records.aspx</link><description>Other posts in the series: Part I - Background Part II - Tuples Part III - Records Part IV - Type Unions Part V - The Match operator Now that we know what Tuples are, we can start talking about Record, as they use a derivative of Tuples under the cover.</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>Microsoft news and tips &amp;raquo; A C# library to write functional code - Part III - Records</title><link>http://blogs.msdn.com/lucabol/archive/2008/04/21/a-c-library-to-write-functional-code-part-iii-records.aspx#8415137</link><pubDate>Mon, 21 Apr 2008 21:21:13 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8415137</guid><dc:creator>Microsoft news and tips &amp;raquo; A C# library to write functional code - Part III - Records</dc:creator><description>&lt;p&gt;PingBack from &lt;a rel="nofollow" target="_new" href="http://microsoftnews.askpcdoc.com/?p=3525"&gt;http://microsoftnews.askpcdoc.com/?p=3525&lt;/a&gt;&lt;/p&gt;
</description></item><item><title>Interesting Finds: 2008.04.22</title><link>http://blogs.msdn.com/lucabol/archive/2008/04/21/a-c-library-to-write-functional-code-part-iii-records.aspx#8415783</link><pubDate>Tue, 22 Apr 2008 04:04:17 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8415783</guid><dc:creator>gOODiDEA.NET</dc:creator><description>&lt;p&gt;.NET RestLess - A Simple REST Framework ASP.NET AJAX Overview And Technical Tips A C# library to write&lt;/p&gt;
</description></item><item><title>Interesting Finds: 2008.04.22</title><link>http://blogs.msdn.com/lucabol/archive/2008/04/21/a-c-library-to-write-functional-code-part-iii-records.aspx#8415786</link><pubDate>Tue, 22 Apr 2008 04:04:54 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8415786</guid><dc:creator>gOODiDEA</dc:creator><description>&lt;p&gt;.NETRestLess-ASimpleRESTFrameworkASP.NETAJAXOverviewAndTechnicalTipsAC#libraryto...&lt;/p&gt;
</description></item><item><title>Community Convergence XLIII</title><link>http://blogs.msdn.com/lucabol/archive/2008/04/21/a-c-library-to-write-functional-code-part-iii-records.aspx#8419906</link><pubDate>Wed, 23 Apr 2008 23:58:14 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8419906</guid><dc:creator>Charlie Calvert's Community Blog</dc:creator><description>&lt;p&gt;Welcome to the forty-third issue of Community Convergence. The last few weeks have been consumed by the&lt;/p&gt;
</description></item><item><title>re: A C# library to write functional code - Part III - Records</title><link>http://blogs.msdn.com/lucabol/archive/2008/04/21/a-c-library-to-write-functional-code-part-iii-records.aspx#8421180</link><pubDate>Thu, 24 Apr 2008 12:11:28 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8421180</guid><dc:creator>Eamon Nerbonne</dc:creator><description>&lt;p&gt;By the way, there's another reason your hash-code algorithm is unwise: Assuming the component hash-codes are uniformly distributed over the integers from 0 to 2^32-1 (thus interpreting the signed integers as unsigned integers here, for simplicity), your will not be: &amp;nbsp;a binary or never lowers the number of &amp;quot;on&amp;quot; bits; each bit of your result hash code has only a 25% chance to be off - which lowers the entropy of the overall hash code to be around 26 bits, as opposed to 32 bits.&lt;/p&gt;
&lt;p&gt;Finally, tuples of tuples will hash particularly badly; and so will tuples with higher than 2-arity.&lt;/p&gt;
</description></item><item><title>re: A C# library to write functional code - Part III - Records</title><link>http://blogs.msdn.com/lucabol/archive/2008/04/21/a-c-library-to-write-functional-code-part-iii-records.aspx#8422206</link><pubDate>Thu, 24 Apr 2008 20:13:10 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8422206</guid><dc:creator>lucabol</dc:creator><description>&lt;p&gt;Eamon: you are right. It is bad. As I said before, I was lazy.&lt;/p&gt;
</description></item><item><title>re: A C# library to write functional code - Part III - Records</title><link>http://blogs.msdn.com/lucabol/archive/2008/04/21/a-c-library-to-write-functional-code-part-iii-records.aspx#8424219</link><pubDate>Fri, 25 Apr 2008 18:13:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8424219</guid><dc:creator>ktmt</dc:creator><description>&lt;p&gt;Wow, a little more and we'll finally have the easy-to-use record construct of Pascal in the 1980s. &amp;nbsp;Just declare a Record type and you're set. &amp;nbsp;I have (seriously) often wished for this in C# instead of cumbersome, separate struct or class def's.&lt;/p&gt;
</description></item><item><title>re: A C# library to write functional code - Part III - Records</title><link>http://blogs.msdn.com/lucabol/archive/2008/04/21/a-c-library-to-write-functional-code-part-iii-records.aspx#8473252</link><pubDate>Thu, 08 May 2008 20:55:11 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8473252</guid><dc:creator>amiya</dc:creator><description>&lt;p&gt;&lt;a rel="nofollow" target="_new" href="http://www.amazingorissa.comhttp://www.amazingorissa.comhttp://www.amazingorissa.comhttp://www.amazingorissa.comhttp://www.amazingorissa.comhttp://www.amazingorissa.comhttp://www.amazingorissa.comhttp://www.amazingorissa.comhttp://www.amazingorissa.comhttp://www.amazingorissa.comhttp://www.amazingorissa.comhttp://www.amazingorissa.comhttp://www.amazingorissa.com"&gt;http://www.amazingorissa.comhttp://www.amazingorissa.comhttp://www.amazingorissa.comhttp://www.amazingorissa.comhttp://www.amazingorissa.comhttp://www.amazingorissa.comhttp://www.amazingorissa.comhttp://www.amazingorissa.comhttp://www.amazingorissa.comhttp://www.amazingorissa.comhttp://www.amazingorissa.comhttp://www.amazingorissa.comhttp://www.amazingorissa.com&lt;/a&gt;&lt;/p&gt;
</description></item><item><title>re: A C# library to write functional code - Part III - Records</title><link>http://blogs.msdn.com/lucabol/archive/2008/04/21/a-c-library-to-write-functional-code-part-iii-records.aspx#8523635</link><pubDate>Tue, 20 May 2008 19:06:19 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8523635</guid><dc:creator>TimNew</dc:creator><description>&lt;p&gt;This's a really excellent introduction. I think I begin to know what the functional code is after reading your posts and code. But I have some questions about this:&lt;/p&gt;
&lt;p&gt;For the GetHashCode(), why don't you try &amp;quot;xor&amp;quot; other than &amp;quot;or&amp;quot;? I think &amp;quot;xor&amp;quot; will get a better job than the &amp;quot;or&amp;quot;~&lt;/p&gt;
&lt;p&gt;For something about all the code, and I found TypeUnion&amp;lt;T&amp;gt; is really useless! Since I'll never have the change to use a member union! &lt;/p&gt;
</description></item><item><title>Luca Bolognese's WebLog : A C# library to write functional code - Part III - Records</title><link>http://blogs.msdn.com/lucabol/archive/2008/04/21/a-c-library-to-write-functional-code-part-iii-records.aspx#8542271</link><pubDate>Sat, 24 May 2008 01:55:17 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8542271</guid><dc:creator>pligg.com</dc:creator><description>&lt;p&gt;Previous posts: Part I - Background Part II - Tuples Now that we know what Tuples are, we can start talking about Record, as they use a derivative of Tuples under the cover. But first, what is a record? Well, in C# parlance a Record is a sort of immutabl&lt;/p&gt;
</description></item><item><title>The Quest for Quick-and-Easy Class-Based Immutable Value Objects in C# - Part 1: Introduction</title><link>http://blogs.msdn.com/lucabol/archive/2008/04/21/a-c-library-to-write-functional-code-part-iii-records.aspx#8572036</link><pubDate>Tue, 03 Jun 2008 22:38:39 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8572036</guid><dc:creator>adamjcooper.com/blog</dc:creator><description>&lt;p&gt;The Quest for Quick-and-Easy Class-Based Immutable Value Objects in C# - Part 1: Introduction&lt;/p&gt;
</description></item><item><title>The Quest for Quick-and-Easy Immutable Value Objects in C#</title><link>http://blogs.msdn.com/lucabol/archive/2008/04/21/a-c-library-to-write-functional-code-part-iii-records.aspx#8572141</link><pubDate>Wed, 04 Jun 2008 00:00:02 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8572141</guid><dc:creator>adamjcooper.com/blog</dc:creator><description>&lt;p&gt;The Quest for Quick-and-Easy Immutable Value Objects in C#&lt;/p&gt;
</description></item><item><title>A C# library to write functional code - Part V - The Match operator</title><link>http://blogs.msdn.com/lucabol/archive/2008/04/21/a-c-library-to-write-functional-code-part-iii-records.aspx#8732831</link><pubDate>Tue, 15 Jul 2008 12:46:24 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8732831</guid><dc:creator>Luca Bolognese's WebLog</dc:creator><description>&lt;p&gt;Other posts in the series: Part I - Background Part II - Tuples Part III - Records Part IV - Type Unions&lt;/p&gt;
</description></item></channel></rss>