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"><<a href="mailto:DekuDekuplex@yahoo.com">DekuDekuplex@yahoo.com</a>></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 <<a href="mailto:perry2of5@yahoo.com">perry2of5@yahoo.com</a>> writes:<br>
<br>
> If you do jump in, I'd recommend the Real World Haskell book or the The Haskell<br>
> 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>
><br>
> Good luck,<br>
> Tim<br>
><br>
><br>
><br>
><br>
><br>
> ----- Original Message ----<br>
> From: Lorenzo Isella <<a href="mailto:lorenzo.isella@gmail.com">lorenzo.isella@gmail.com</a>><br>
> To: <a href="mailto:beginners@haskell.org">beginners@haskell.org</a><br>
> Sent: Fri, September 3, 2010 3:57:26 PM<br>
> Subject: [Haskell-beginners] Motivation to Learn Haskell<br>
><br>
> Dear All,<br>
> It is my first post to this list and please do not take it as an attempt to<br>
> start any flamewar.<br>
>>From time to time, I try to find the motivation to learn at least the<br>
> fundamentals of another programming language.<br>
> I normally use R and Python on a daily basis (but I am not that much into OO<br>
> programming) and have a good knowledge of Fortran and a rather superficial one<br>
> of C.<br>
> Beside learning a new language as a sort of mind expanding exercise, I try to<br>
> figure out how and if it can save me some time in my work and how it measures up<br>
> against other languages.<br>
> These days I tend to rely on R for data analysis and visualization whereas I use<br>
> Python (in particular Numpy+SciPy) for number crunching (it is very convenient<br>
> to use scipy/numpy to solve ODE's, manipulate arrays and so on).<br>
> Now, I wonder what benefit I would gain from learning Haskell since I mainly<br>
> write codes for numerical simulations/data analysis.<br>
> I know Haskell is gaining momentum e.g. in the financial environment (I happened<br>
> to see Haskell knowledge as a specification in some quant jobs) hence it must be<br>
> more than suitable for numerical work and, by the little I have understood so<br>
> far, it allows one to write code really resembling mathematical expressions (I<br>
> was impressed by guards and curried functions).<br>
> However, it also looks to me (correct me if I am mistaken) that Haskell is a far<br>
> cry from the wealth of standard and contributed scientific modules you have in<br>
> Python or R and thanks to which you do not re-implement the wheel yourself.<br>
> Any thoughts/suggestions are really appreciated.<br>
> Cheers<br>
><br>
> Lorenzo<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>
<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>
"Furuike ya, kawazu tobikomu mizu no oto." -- 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>