<br><br><div class="gmail_quote">On Fri, Sep 14, 2012 at 2:18 PM, Andrew Pennebaker <span dir="ltr">&lt;<a href="mailto:andrew.pennebaker@gmail.com" target="_blank">andrew.pennebaker@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div class="gmail_quote"><div>A summary of the changes I&#39;ve included so far:</div><div class="im"><br></div><div>Noted and reflected... I&#39;m trying to convey to an audience largely composed of Java and C++ fanatics how Haskell records are much better than OOP, how GADTs are more intuitive, robust, ... OOP doesn&#39;t even compare! That&#39;s what I&#39;m trying to get across in that bit. And it&#39;s hard to do this in just a few sentences, especially when the reader isn&#39;t even familiar with GADTs in the first place.</div>
</div></blockquote><div><br></div><div>But, Haskell records aren&#39;t better than OOP.</div><div><br></div><div>I am not trying to be controversial here -- Haskell records would &quot;naturally&quot; implement prototype-based OOP, like JavaScript uses, if they (Haskell records) weren&#39;t so useless.  This is basically why &quot;lenses&quot; were designed (i.e., to make consistent syntax for getters and setters)</div>
</div>