On Thu, Sep 20, 2012 at 10:33 AM, Dennis Raddle <span dir="ltr">&lt;<a href="mailto:dennis.raddle@gmail.com" target="_blank">dennis.raddle@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">

<div class="gmail_quote">In Haskell you give up easy-to-comprehend error messages and mutable data, and get back in reward a lot of reassurance that your program does what you meant and expressivity.<br></div></blockquote>

<div><br></div><div>It&#39;s an interesting observation you made earlier, thanks! </div><div><br></div><div>I&#39;d also add that the gnarlier errors are because of code maxing out the newer innovations of the type system. Haskell98, comparatively, isn&#39;t half as terrifying.</div>

<div><br></div><div>But type safety is a drug. You never get enough of it.</div><br class="Apple-interchange-newline"><div>One way to contain the complexity is to note what packages viralize their pragmas, i.e. require client code to turn on the same pragmas that they do.</div>

<div><br></div><div><br></div><div> </div>-- Kim-Ee<br>
<br><br><div class="gmail_quote">On Thu, Sep 20, 2012 at 10:33 AM, Dennis Raddle <span dir="ltr">&lt;<a href="mailto:dennis.raddle@gmail.com" target="_blank">dennis.raddle@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">

<br><div class="gmail_quote"><br>Thanks. I&#39;m okay with the status quo.. I just see it as a tradeoff. You are giving up something to get something. In Python you give up any kind of compile-time type checking, you give up the safety of immutable data, and you get a whole lot of automatic type conversions and brief ways to express certain algorithms. In Haskell you give up easy-to-comprehend error messages and mutable data, and get back in reward a lot of reassurance that your program does what you meant and expressivity. (I realize Haskell has mutable data but it&#39;s not like Python&#39;s)<br>



<br><div class="gmail_quote"><div class="im"><div>On Wed, Sep 19, 2012 at 7:43 PM, Ertugrul Söylemez <span dir="ltr">&lt;<a href="mailto:es@ertes.de" target="_blank">es@ertes.de</a>&gt;</span> wrote:<br></div></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

<div class="im">
<div>
<br>
    Notice:  You probably forgot to apply `sin&#39; to an argument.<br>
<br>
However, I think that no work is done on that, and there is another<br>
possible path:  An average Haskell tutorial should always include a<br>
section on understanding error messages.  In fact the latest issue of<br>
The Monad Reader [1] has an article on that by Jan Stolarek.<br>
<br>
[1]: <a href="http://themonadreader.files.wordpress.com/2012/08/issue20.pdf" target="_blank">http://themonadreader.files.wordpress.com/2012/08/issue20.pdf</a><br>
<br>
<br>
Greets,<br>
Ertugrul<br>
<span><font color="#888888"><br>
--<br>
Not to be or to be and (not to be or to be and (not to be or to be and<br>
(not to be or to be and ... that is the list monad.<br>
</font></span><br></div></div><div class="im"><div>_______________________________________________<br>
Beginners mailing list<br>
<a href="mailto:Beginners@haskell.org" target="_blank">Beginners@haskell.org</a><br>
<a href="http://www.haskell.org/mailman/listinfo/beginners" target="_blank">http://www.haskell.org/mailman/listinfo/beginners</a><br>
<br></div></div></blockquote></div><br>
</div><br>
<br>_______________________________________________<br>
Beginners mailing list<br>
<a href="mailto:Beginners@haskell.org">Beginners@haskell.org</a><br>
<a href="http://www.haskell.org/mailman/listinfo/beginners" target="_blank">http://www.haskell.org/mailman/listinfo/beginners</a><br>
<br></blockquote></div><br>