<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/css" href="/stylesheets/rss.css"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/">
  <channel>
    <title>Object Mentor Blog: A Brief Collection of Convenient Lies about Functional Programming</title>
    <link>http://blog.objectmentor.com/articles/2009/03/23/a-brief-collection-of-convenient-lies-about-functional-programming</link>
    <language>en-us</language>
    <ttl>40</ttl>
    <description></description>
    <item>
      <title>A Brief Collection of Convenient Lies about Functional Programming</title>
      <description>&lt;p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;i&gt;A value is the instantaneous state of an object.&lt;/i&gt; &amp;#8211; In OO languages, we have objects. In FP languages, we throw out the object and instead manipulate the values it would take on over time.
&lt;li&gt;&lt;i&gt;Algebraic data types are classes.&lt;/i&gt; &amp;#8211; Every case in an &lt;span class="caps"&gt;ADT&lt;/span&gt; is a state that an &#8220;object&#8221; can be in.

&lt;code&gt;&lt;pre&gt;
data Tree = Empty 
          | Leaf Int 
          | Node Tree Tree
&lt;/pre&gt;&lt;/code&gt;

When we write functions over ADTs, we are obliged to cover all of the cases.  So, for instance, if we define depth for Empty, we have to define depth for the Leaf and Node cases as well.  When we do, we can evaluate &lt;i&gt;depth t&lt;/i&gt; for any tree value and have a well-defined result.
&lt;li&gt;&lt;i&gt;The functions which we define over an &lt;span class="caps"&gt;ADT&lt;/span&gt; can be considered its public interface.&lt;/i&gt; &amp;#8211; There&#8217;s a school of thought which says that encapsulation doesn&#8217;t matter in an functional programming language because values are immutable and corruption can&#8217;t happen.  Nothing could be further from the truth.  If we add or remove a case from an &lt;span class="caps"&gt;ADT&lt;/span&gt; all of the functions which pattern match against it are impacted.  While we don&#8217;t need to have an encapsulation boundary as tight as we might have in an OO language &amp;#8211; it pays to be conscious of how far ADTs travel in a program.  Encapsulation is the act of forming a boundary by transforming an &lt;span class="caps"&gt;ADT&lt;/span&gt; into some other form of data.
&lt;/ol&gt; 
&lt;/p&gt;
&lt;p&gt;
Each of these statements is a lie, an artful simplification, but they are a convenient and not entirely false way of thinking about functional programming until it becomes second-nature.&lt;/p&gt;</description>
      <pubDate>Mon, 23 Mar 2009 10:19:00 -0500</pubDate>
      <guid isPermaLink="false">urn:uuid:96dfa233-e7b6-4c3c-b5e4-6f2d4ff07191</guid>
      <author>Michael Feathers</author>
      <link>http://blog.objectmentor.com/articles/2009/03/23/a-brief-collection-of-convenient-lies-about-functional-programming</link>
      <category>Michaels Musings</category>
    </item>
    <item>
      <title>"A Brief Collection of Convenient Lies about Functional Programming" by military electronics</title>
      <description>&lt;p&gt;We can handle any of your military component needs&lt;/p&gt;</description>
      <pubDate>Thu, 02 Feb 2012 19:59:06 -0600</pubDate>
      <guid isPermaLink="false">urn:uuid:d8f832c2-1c58-4d6b-9104-bfd4bdedfb97</guid>
      <link>http://blog.objectmentor.com/articles/2009/03/23/a-brief-collection-of-convenient-lies-about-functional-programming#comment-201123</link>
    </item>
    <item>
      <title>"A Brief Collection of Convenient Lies about Functional Programming" by Office 2010</title>
      <description>&lt;p&gt;This article is GREAT it can be EXCELLENT JOB and what a great tool!&lt;/p&gt;</description>
      <pubDate>Fri, 13 Jan 2012 20:27:30 -0600</pubDate>
      <guid isPermaLink="false">urn:uuid:74fd8f77-f8be-4cf4-9a35-2fd756497f46</guid>
      <link>http://blog.objectmentor.com/articles/2009/03/23/a-brief-collection-of-convenient-lies-about-functional-programming#comment-197754</link>
    </item>
    <item>
      <title>"A Brief Collection of Convenient Lies about Functional Programming" by sallyerma</title>
      <description>&lt;p&gt;I have been searching all over the blogs for a relevant article related to this topic for a paper I am writing. I&#8217;ll be sure to come back to your blog for other valuable information next time I need solid information on this subject.
&lt;a href="http://www.stylesnew.com/hairstyles/styles/layered/" rel="nofollow"&gt;layered hairstyles&lt;/a&gt;&lt;/p&gt;</description>
      <pubDate>Mon, 09 Jan 2012 17:48:27 -0600</pubDate>
      <guid isPermaLink="false">urn:uuid:940e90e1-752a-40d1-883e-b1881404b2b7</guid>
      <link>http://blog.objectmentor.com/articles/2009/03/23/a-brief-collection-of-convenient-lies-about-functional-programming#comment-196417</link>
    </item>
    <item>
      <title>"A Brief Collection of Convenient Lies about Functional Programming" by iphone contacts backup</title>
      <description>&lt;p&gt;All-in-one solution to backup iPhone contacts and SMS, transfer iPhone video, songs, ebooks, photo, call list and more to computer or iTunes&lt;/p&gt;</description>
      <pubDate>Sat, 07 Jan 2012 06:54:35 -0600</pubDate>
      <guid isPermaLink="false">urn:uuid:9b963f64-a107-44fe-a92c-4495b1ffa704</guid>
      <link>http://blog.objectmentor.com/articles/2009/03/23/a-brief-collection-of-convenient-lies-about-functional-programming#comment-195912</link>
    </item>
    <item>
      <title>"A Brief Collection of Convenient Lies about Functional Programming" by dentist medford or</title>
      <description>&lt;p&gt;I just came across your blog and reading your beautiful words. I thought I would leave my first comment but I don&amp;#8217;t know what to say except that I have enjoyed reading. Nice blog. I will keep visiting this blog very often.&lt;/p&gt;</description>
      <pubDate>Sat, 03 Dec 2011 13:17:36 -0600</pubDate>
      <guid isPermaLink="false">urn:uuid:bbf9d251-a2ec-4094-8eef-486f07e15b09</guid>
      <link>http://blog.objectmentor.com/articles/2009/03/23/a-brief-collection-of-convenient-lies-about-functional-programming#comment-181611</link>
    </item>
    <item>
      <title>"A Brief Collection of Convenient Lies about Functional Programming" by computer</title>
      <description>&lt;p&gt;Good work! I always like to leave comments whenever I see something unusual or impressive. I think we must appreciate those who do something especial. Keep it up, thanks
Helen&#160;Olsson&lt;/p&gt;</description>
      <pubDate>Fri, 02 Dec 2011 03:14:59 -0600</pubDate>
      <guid isPermaLink="false">urn:uuid:366514c6-5b21-409a-ba7f-64d99c195762</guid>
      <link>http://blog.objectmentor.com/articles/2009/03/23/a-brief-collection-of-convenient-lies-about-functional-programming#comment-181096</link>
    </item>
    <item>
      <title>"A Brief Collection of Convenient Lies about Functional Programming" by beats by dr dre</title>
      <description>&lt;p&gt;A university student&lt;a href="http://www.drdrebeatsheadphones-australia.com" rel="nofollow"&gt;beats by dr dre&lt;/a&gt; caught by the enemy, the enemy tied him at the poles,&lt;a href="http://www.drdrebeatsheadphones-australia.com/justbeats-solo-purple-onear-headphones-with-controltalk-p-234.html" rel="nofollow"&gt;just beats solo headphones purple&lt;/a&gt; and then asked him: say, where are you? You do not say it electrocuted! S&lt;a href="http://www.drdrebeatsheadphones-australia.com/cheap-drdre-beats-studio-limited-edition-headphones-blackyellow-p-185.html" rel="nofollow"&gt;cheap dr.dre beats studio headphones balck/yellow&lt;/a&gt;tudents back to the enemy a word, the result was electrocuted, he said: I am TVU.&lt;a href="http://www.drdrebeatsheadphones-australia.com/cheap-beats-by-drdre-pro-performance-professional-headphones-white-p-192.html" rel="nofollow"&gt;Hot sale beats by dr dre pro  headphones&lt;/a&gt;&lt;/p&gt;</description>
      <pubDate>Tue, 15 Nov 2011 03:37:08 -0600</pubDate>
      <guid isPermaLink="false">urn:uuid:05c307c1-b5d3-4f34-a658-bb0f9cb2ec41</guid>
      <link>http://blog.objectmentor.com/articles/2009/03/23/a-brief-collection-of-convenient-lies-about-functional-programming#comment-173104</link>
    </item>
    <item>
      <title>"A Brief Collection of Convenient Lies about Functional Programming" by Dr Dre beats Headphones Canada</title>
      <description>&lt;p&gt;S-expansion of all-digital running to distinguish involving the bass as well as stereo,&lt;/p&gt;</description>
      <pubDate>Sat, 12 Nov 2011 02:31:07 -0600</pubDate>
      <guid isPermaLink="false">urn:uuid:b388b4e9-3d6f-4de6-9cb2-67bc3ff696b1</guid>
      <link>http://blog.objectmentor.com/articles/2009/03/23/a-brief-collection-of-convenient-lies-about-functional-programming#comment-171808</link>
    </item>
    <item>
      <title>"A Brief Collection of Convenient Lies about Functional Programming" by Beats By Dre Canada</title>
      <description>&lt;p&gt;Very first, the two fresh machines and other technology via digital processor chip with unique Sony technologies&lt;/p&gt;</description>
      <pubDate>Sat, 12 Nov 2011 02:30:27 -0600</pubDate>
      <guid isPermaLink="false">urn:uuid:5d44ebb2-6d96-4a18-9181-1e7ffa77173f</guid>
      <link>http://blog.objectmentor.com/articles/2009/03/23/a-brief-collection-of-convenient-lies-about-functional-programming#comment-171807</link>
    </item>
    <item>
      <title>"A Brief Collection of Convenient Lies about Functional Programming" by beats by dre Australia</title>
      <description>&lt;p&gt;Very interesting thing, like!&lt;/p&gt;</description>
      <pubDate>Sat, 12 Nov 2011 00:08:41 -0600</pubDate>
      <guid isPermaLink="false">urn:uuid:479f6779-6210-4235-8142-2157369288b3</guid>
      <link>http://blog.objectmentor.com/articles/2009/03/23/a-brief-collection-of-convenient-lies-about-functional-programming#comment-171666</link>
    </item>
    <item>
      <title>"A Brief Collection of Convenient Lies about Functional Programming" by ssara</title>
      <description>&lt;p&gt;Useful but still need to learn a lot to well process it. &lt;a href="http://gradstudentdegrees.posterous.com/a-study-on-allegations-and-how-it-affects-cri" rel="nofollow"&gt;allegations impact on crime&lt;/a&gt;&lt;/p&gt;</description>
      <pubDate>Fri, 11 Nov 2011 03:00:51 -0600</pubDate>
      <guid isPermaLink="false">urn:uuid:a16e8f3c-7719-48d4-ae9b-ada27de318f9</guid>
      <link>http://blog.objectmentor.com/articles/2009/03/23/a-brief-collection-of-convenient-lies-about-functional-programming#comment-171330</link>
    </item>
    <item>
      <title>"A Brief Collection of Convenient Lies about Functional Programming" by Cheap Beats By Dr.Dre</title>
      <description>&lt;p&gt;she does not forget The busy more than in public,&lt;/p&gt;</description>
      <pubDate>Tue, 08 Nov 2011 23:11:30 -0600</pubDate>
      <guid isPermaLink="false">urn:uuid:dc26ee68-4713-40fe-b58f-0b7604e7e7db</guid>
      <link>http://blog.objectmentor.com/articles/2009/03/23/a-brief-collection-of-convenient-lies-about-functional-programming#comment-170302</link>
    </item>
    <item>
      <title>"A Brief Collection of Convenient Lies about Functional Programming" by holsson34</title>
      <description>&lt;p&gt;Good work! I always like to leave comments whenever I see something unusual or impressive. I think we must appreciate those who do something especial. Keep it up, thanks
Helen&#160;Olsson&lt;/p&gt;</description>
      <pubDate>Sat, 05 Nov 2011 13:05:34 -0500</pubDate>
      <guid isPermaLink="false">urn:uuid:55a178b8-ae46-4354-9478-33439dc2c93f</guid>
      <link>http://blog.objectmentor.com/articles/2009/03/23/a-brief-collection-of-convenient-lies-about-functional-programming#comment-168733</link>
    </item>
    <item>
      <title>"A Brief Collection of Convenient Lies about Functional Programming" by Tips For Bowling</title>
      <description>&lt;p&gt;PC stuff just lowers the general acceptance of good work and replaces it with bogus poetry that celebrates values that in themselves are probably quite worthy.&lt;/p&gt;</description>
      <pubDate>Thu, 20 Oct 2011 15:36:07 -0500</pubDate>
      <guid isPermaLink="false">urn:uuid:f4a93070-07e7-42be-9797-8ace5a03f102</guid>
      <link>http://blog.objectmentor.com/articles/2009/03/23/a-brief-collection-of-convenient-lies-about-functional-programming#comment-160267</link>
    </item>
    <item>
      <title>"A Brief Collection of Convenient Lies about Functional Programming" by ysbearing</title>
      <description>&lt;p&gt;Slewing bearing called slewing ring bearings, is a comprehensive load to bear a large bearing, can bear large axial, radial load and overturning moment.&lt;/p&gt;</description>
      <pubDate>Wed, 19 Oct 2011 02:57:02 -0500</pubDate>
      <guid isPermaLink="false">urn:uuid:27126686-e3a4-4e58-965a-a2e2a8b6c576</guid>
      <link>http://blog.objectmentor.com/articles/2009/03/23/a-brief-collection-of-convenient-lies-about-functional-programming#comment-159424</link>
    </item>
    <item>
      <title>"A Brief Collection of Convenient Lies about Functional Programming" by beats by dre store</title>
      <description>&lt;p&gt;useful some day,thanks for taking time to write such cool stuff&lt;a href="http://www.drdrebeatsheadphones-australia.com" rel="nofollow"&gt;high quality headphones&lt;/a&gt;
&lt;a href="http://www.drdrebeatsheadphones-australia.com" rel="nofollow"&gt;new design headphones&lt;/a&gt;&lt;/p&gt;</description>
      <pubDate>Tue, 23 Aug 2011 03:14:02 -0500</pubDate>
      <guid isPermaLink="false">urn:uuid:b409e6c4-57ac-4b20-84ba-24487151d728</guid>
      <link>http://blog.objectmentor.com/articles/2009/03/23/a-brief-collection-of-convenient-lies-about-functional-programming#comment-131666</link>
    </item>
    <item>
      <title>"A Brief Collection of Convenient Lies about Functional Programming" by Bowtrol</title>
      <description>&lt;p&gt;hmm ,i&amp;#8217;m not sure if this is what i&amp;#8217;m looking for but anyway this is interresting and could be useful some day,thanks for taking time to write such cool stuff&lt;/p&gt;</description>
      <pubDate>Mon, 08 Aug 2011 15:35:28 -0500</pubDate>
      <guid isPermaLink="false">urn:uuid:6b034182-6d7e-41a6-93c6-b7c64ff5e60e</guid>
      <link>http://blog.objectmentor.com/articles/2009/03/23/a-brief-collection-of-convenient-lies-about-functional-programming#comment-125697</link>
    </item>
    <item>
      <title>"A Brief Collection of Convenient Lies about Functional Programming" by beats by dr dre headphones</title>
      <description>&lt;p&gt;The article is dull.
beats by dr dre studio,
beats by dr dre pro,
beats by dr dre solo,
beats by dr dre headphones,
monster beats dr dre headphones&lt;/p&gt;</description>
      <pubDate>Fri, 03 Jun 2011 23:01:18 -0500</pubDate>
      <guid isPermaLink="false">urn:uuid:163bff2c-ce16-4e9d-aa06-227c6843d340</guid>
      <link>http://blog.objectmentor.com/articles/2009/03/23/a-brief-collection-of-convenient-lies-about-functional-programming#comment-107866</link>
    </item>
    <item>
      <title>"A Brief Collection of Convenient Lies about Functional Programming" by christian louboutin shoes on sale</title>
      <description>&lt;p&gt;What a wonderful article!&lt;/p&gt;</description>
      <pubDate>Fri, 03 Jun 2011 06:48:48 -0500</pubDate>
      <guid isPermaLink="false">urn:uuid:38b46bc9-cad7-43a0-a18f-5f3a1b2ae267</guid>
      <link>http://blog.objectmentor.com/articles/2009/03/23/a-brief-collection-of-convenient-lies-about-functional-programming#comment-107647</link>
    </item>
    <item>
      <title>"A Brief Collection of Convenient Lies about Functional Programming" by convert mkv to avi</title>
      <description>&lt;p&gt;coming again&lt;/p&gt;</description>
      <pubDate>Wed, 01 Jun 2011 03:29:00 -0500</pubDate>
      <guid isPermaLink="false">urn:uuid:ae829ba3-3e67-4ffc-bc42-d7f0f118a650</guid>
      <link>http://blog.objectmentor.com/articles/2009/03/23/a-brief-collection-of-convenient-lies-about-functional-programming#comment-106696</link>
    </item>
    <item>
      <title>"A Brief Collection of Convenient Lies about Functional Programming" by mkv to avi converter</title>
      <description>&lt;p&gt;A value is the instantaneous state of an object. I agree this&lt;/p&gt;</description>
      <pubDate>Wed, 01 Jun 2011 00:54:14 -0500</pubDate>
      <guid isPermaLink="false">urn:uuid:a485afb7-46aa-4320-b0c0-15e33a3bb3b1</guid>
      <link>http://blog.objectmentor.com/articles/2009/03/23/a-brief-collection-of-convenient-lies-about-functional-programming#comment-106524</link>
    </item>
    <item>
      <title>"A Brief Collection of Convenient Lies about Functional Programming" by canada goose jackets</title>
      <description>&lt;p&gt;Awww thank you so much :D&lt;/p&gt;</description>
      <pubDate>Wed, 18 May 2011 22:32:39 -0500</pubDate>
      <guid isPermaLink="false">urn:uuid:345bf055-7eb5-4bbf-8fc5-8688c03eff3d</guid>
      <link>http://blog.objectmentor.com/articles/2009/03/23/a-brief-collection-of-convenient-lies-about-functional-programming#comment-101443</link>
    </item>
    <item>
      <title>"A Brief Collection of Convenient Lies about Functional Programming" by okey oyunu oyna </title>
      <description>&lt;p&gt;great.&lt;/p&gt;


	&lt;p&gt;internette g&#246;r&#252;nt&#252;l&#252; olarak &lt;a href="http://www.okeyoyunu-oyna.com" rel="nofollow"&gt;okey oyunu oyna&lt;/a&gt;, ger&#231;ek kisilerle tanis,
 turnuva heyecanini yasa.&lt;/p&gt;</description>
      <pubDate>Thu, 28 Apr 2011 07:15:29 -0500</pubDate>
      <guid isPermaLink="false">urn:uuid:8cd1ebab-f188-4738-979b-4ee35ed061fa</guid>
      <link>http://blog.objectmentor.com/articles/2009/03/23/a-brief-collection-of-convenient-lies-about-functional-programming#comment-92690</link>
    </item>
    <item>
      <title>"A Brief Collection of Convenient Lies about Functional Programming" by How To Get Rid Of Blackheads On Nose</title>
      <description>&lt;p&gt;Thank you for sharing,it is very helpful and I really like it!&lt;/p&gt;</description>
      <pubDate>Fri, 22 Apr 2011 09:14:27 -0500</pubDate>
      <guid isPermaLink="false">urn:uuid:9169f310-66de-4ed5-a854-c163a268dd5c</guid>
      <link>http://blog.objectmentor.com/articles/2009/03/23/a-brief-collection-of-convenient-lies-about-functional-programming#comment-89610</link>
    </item>
    <item>
      <title>"A Brief Collection of Convenient Lies about Functional Programming" by panic attacks</title>
      <description>&lt;p&gt;Math puts you in the mood, prepare your brain to understand programming, If you&#8217;re really good at math you&#8217;ll shine in programming ONLY if you like programming. your brain is ready dude, thanks&lt;/p&gt;</description>
      <pubDate>Mon, 11 Apr 2011 08:55:50 -0500</pubDate>
      <guid isPermaLink="false">urn:uuid:6ba75ccb-7090-436c-86f8-7cbe88e88a69</guid>
      <link>http://blog.objectmentor.com/articles/2009/03/23/a-brief-collection-of-convenient-lies-about-functional-programming#comment-82929</link>
    </item>
  </channel>
</rss>

