Perhaps is much easier to create one line compositions of functions in haskell rather than in C because the type system helps a lot in the process.<div><br>However, reusability of source code and maintainability has never been taken seriously by haskell programmers, simply because there are no industrial projects in Haskell with dozens of people with different skills that come and go. Because that, probably the early C programers were far more exhuberant than the current C++ and Java programmers now. To have a broad base of users and/or to assure a cheap programmers for your industrial application has the servitude to &quot;the rule of least power&quot;. That is another reason for the lemma: &quot;Avoid success at all costs&quot;<br>
<div><div><br></div><div>The rule of least power (<a href="http://www.w3.org/2001/tag/doc/leastPower.html">http://www.w3.org/2001/tag/doc/leastPower.html) </a>Originally written by Tim Berners Lee;. For publishing (and, arguably, for code reusability) &quot;the best language is the least powerful&quot;. </div>
<div><br></div><div>This depressing conclusions can be overcomed if we consider that the rule of least power  favours turing incomplete DSLs, so every industrial development can be decomposed in two groups wich demands two different skills: 1)  DSLs  creation  2) DSL programming  </div>
<div><br><br><div class="gmail_quote">2009/3/24 Manlio Perillo <span dir="ltr">&lt;<a href="mailto:manlio_perillo@libero.it">manlio_perillo@libero.it</a>&gt;</span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
Zachary Turner ha scritto:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
[...]<br>
</blockquote><div class="im">
&gt; but I do understand that one of the primary uses<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
cases and/or motivating factors for using Haskell is when you really just NEED that extra abstraction and power you get from being able to do these types of things.  Someone once said that &quot;simple problems should be simple and difficult problems should be possible&quot;.  That doesn&#39;t mean the difficult problems become EASY.  One of the best uses for haskell is solving difficult problems.  It&#39;s obviously still going to be difficult to solve, and as such the writer (and hence by extension the reader) is going to have to be smart as well. <br>

</blockquote>
<br></div>
I agree with you, and in fact I&#39;m still learning Haskell.<br>
The reason I&#39;m still learning Haskell is because I like its syntax.<br>
And yes, I also like the ability to write efficient function by composing other function.<br>
<br>
But there is a limit.<br>
In C you have the ability to write assembler code, but one usually think twice before doing so, since it will become unreadable to most of the people.<br>
<br>
If you think that writing low level assembler code is the best solution, you should at least document it well, instead of assuming that the reader is as smart as you.<br>
<br>
<br>
As I have written at the begin of the thread, there are people I know (*much* more smarter then me), that keep themselves away from Haskell because they start to read some code, and they feel something is wrong.<br>
<br>
They *think* &quot;ah, the author wrote code in this way just to show how smart he is; how can I learn a language if most of the available code is written in this way&quot;?<br>
<br>
Note the use of the verb &quot;think&quot;.<br>
This is only a sensation, and it is wrong; but sensations are important.<div><div></div><div class="h5"><br>
<br>
<br>
&gt; [...]<br>
<br>
<br>
Manlio<br>
_______________________________________________<br>
Haskell-Cafe mailing list<br>
<a href="mailto:Haskell-Cafe@haskell.org" target="_blank">Haskell-Cafe@haskell.org</a><br>
<a href="http://www.haskell.org/mailman/listinfo/haskell-cafe" target="_blank">http://www.haskell.org/mailman/listinfo/haskell-cafe</a><br>
</div></div></blockquote></div><br></div></div></div>