My  tuppence worth is the wonderful conciseness of programs, the way abstraction works, it  almost forces you into creating simple very testable functions. These functions will  have a well defined uncomplicated transformation, and as such may be re-used to build more complex functions. As a beginner, the templtation is to resist the temptation to implemrnt imperative code, but to link functions together in my thinking like a shell script. With a shell script programs are stated left to right with the output of the leftmost being fed into the next one to the right. I think with Haskell on a similar pattern with a pipeline of functions feed from the right-most one. The next thing is to learn associativity rules and the use of parenthesis,  and $ operators.<br>
Read everything on <a href="http://www.haskell.org">www.haskell.org</a>.<br>Confuse yourself by trying to read Prelude source code!<br>--<br>Andrew Edinburgh,Scotland<br><br><div class="gmail_quote">On 4 September 2010 01:30, Benjamin L. Russell <span dir="ltr">&lt;<a href="mailto:DekuDekuplex@yahoo.com">DekuDekuplex@yahoo.com</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">Tim Perry &lt;<a href="mailto:perry2of5@yahoo.com">perry2of5@yahoo.com</a>&gt; writes:<br>
<br>
&gt; If you do jump in, I&#39;d recommend the Real World Haskell book or the The Haskell<br>
&gt; School of Expression book.<br>
<br>
Another interesting title is _Programming in Haskell,_ by Graham Hutton<br>
(see <a href="http://www.cs.nott.ac.uk/%7Egmh/book.html" target="_blank">http://www.cs.nott.ac.uk/~gmh/book.html</a>).  Duncan Coutts has<br>
written a review on the title (see<br>
<a href="http://www.cs.nott.ac.uk/%7Egmh/book-review.pdf" target="_blank">http://www.cs.nott.ac.uk/~gmh/book-review.pdf</a>).<br>
<br>
As for motivation for learning Haskell, one motivator is the purely<br>
functional nature of the language, which is referentially transparent<br>
and therefore facilitates reasoning about programs.  Haskell has roots<br>
in category theory, and therefore, it is frequently possible to use<br>
category-theoretical reasoning to reason about the correctness of<br>
programs; this cannot be said of most other programming languages.<br>
<br>
-- Benjamin L. Russell<br>
<br>
&gt;<br>
&gt; Good luck,<br>
&gt; Tim<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt; ----- Original Message ----<br>
&gt; From: Lorenzo Isella &lt;<a href="mailto:lorenzo.isella@gmail.com">lorenzo.isella@gmail.com</a>&gt;<br>
&gt; To: <a href="mailto:beginners@haskell.org">beginners@haskell.org</a><br>
&gt; Sent: Fri, September 3, 2010 3:57:26 PM<br>
&gt; Subject: [Haskell-beginners] Motivation to Learn Haskell<br>
&gt;<br>
&gt; Dear All,<br>
&gt; It is my first post to this list and please do not take it as an attempt to<br>
&gt; start any flamewar.<br>
&gt;&gt;From time to time, I try to find the motivation to learn at least the<br>
&gt; fundamentals of another programming language.<br>
&gt; I normally use R and Python on a daily basis (but I am not that much into OO<br>
&gt; programming) and have a good knowledge of Fortran and a rather superficial one<br>
&gt; of C.<br>
&gt; Beside learning a new language as a sort of mind expanding exercise, I try to<br>
&gt; figure out how and if it can save me some time in my work and how it measures up<br>
&gt; against other languages.<br>
&gt; These days I tend to rely on R for data analysis and visualization whereas I use<br>
&gt; Python (in particular Numpy+SciPy) for number crunching (it is very convenient<br>
&gt; to use scipy/numpy to solve ODE&#39;s, manipulate arrays and so on).<br>
&gt; Now, I wonder what benefit I would gain from learning Haskell since I mainly<br>
&gt; write codes for numerical simulations/data analysis.<br>
&gt; I know Haskell is gaining momentum e.g. in the financial environment (I happened<br>
&gt; to see Haskell knowledge as a specification in some quant jobs) hence it must be<br>
&gt; more than suitable for numerical work and, by the little I have understood so<br>
&gt; far, it allows one to write code really resembling mathematical expressions (I<br>
&gt; was impressed by guards and curried functions).<br>
&gt; However, it also looks to me (correct me if I am mistaken) that Haskell is a far<br>
&gt; cry from the wealth of standard and contributed scientific modules you have in<br>
&gt; Python or R and thanks to which you do not re-implement the wheel yourself.<br>
&gt; Any thoughts/suggestions are really appreciated.<br>
&gt; Cheers<br>
&gt;<br>
&gt; Lorenzo<br>
&gt; _______________________________________________<br>
&gt; Beginners mailing list<br>
&gt; <a href="mailto:Beginners@haskell.org">Beginners@haskell.org</a><br>
&gt; <a href="http://www.haskell.org/mailman/listinfo/beginners" target="_blank">http://www.haskell.org/mailman/listinfo/beginners</a><br>
&gt;<br>
<br>
--<br>
Benjamin L. Russell  /   DekuDekuplex at Yahoo dot com<br>
<a href="http://dekudekuplex.wordpress.com/" target="_blank">http://dekudekuplex.wordpress.com/</a><br>
Translator/Interpreter / Mobile:  +011 81 80-3603-6725<br>
&quot;Furuike ya, kawazu tobikomu mizu no oto.&quot; -- Matsuo Basho^<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>
</blockquote></div><br>