<div dir="ltr">I am having hard time understanding this statement:<br><br><blockquote style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;" class="gmail_quote">Haskell types lack constructors, so the user never expects to be<br>

able to conjure up a value of an unknown type.<br></blockquote><br>I am not sure how say in a Java language a constructor can &quot;conjure up a value of an unknown type&quot;.<br><br>daryoush<br><br><div class="gmail_quote">
On Wed, Oct 15, 2008 at 12:55 PM, Bulat Ziganshin <span dir="ltr">&lt;<a href="mailto:bulat.ziganshin@gmail.com">bulat.ziganshin@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Hello Daryoush,<br>
<div class="Ih2E3d"><br>
Wednesday, October 15, 2008, 10:56:39 PM, you wrote:<br>
<br>
&gt; If you notice&nbsp; java generics has all sort of gotchas (e.g.<br>
&gt; <a href="http://www.ibm.com/developerworks/java/library/j-jtp01255.html" target="_blank">http://www.ibm.com/developerworks/java/library/j-jtp01255.html</a>).&nbsp; I<br>
<br>
</div>large prob;em of OOP languages with generics is interaction between<br>
those two types of polymorhism. covariant/contravariant typing is one<br>
example. since Haskell lacks OOP classes, it doesn&#39;t have such<br>
pronblem at all. overall, speaking, pure languages (pure OOP, pure FP,<br>
pure LP) is much simpler than ones trying to combine OOP, FP and<br>
everything else together. There Is Only One Way To Do It In Haskell ;)<br>
<div><div></div><div class="Wj3C7c"><br>
<br>
--<br>
Best regards,<br>
&nbsp;Bulat &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;mailto:<a href="mailto:Bulat.Ziganshin@gmail.com">Bulat.Ziganshin@gmail.com</a><br>
<br>
</div></div></blockquote></div><br><br clear="all"><br>
</div>