Hi, here my path (in correct order) I followed to learn to think functionally:

1) Curry-Howard Isomorphism
2) Type Theory & Functional Programming
3) The Hindley-Milner Type inference algorithm
4) Basic Category Theory
5) Notions of computation and monads
6) Denotational semantics
7) Monads for functional programming
8) Theorems for free.
9) A History of Haskell: Being Lazy With Class

These are all papers you can find on Google.
Then you can start to read some Haskell tutorial.

It is not easy, but these readings are necessary to open your mind to the fantastic world of Functional Programming (I come from 15 Years of C++).

Luca.

On Dec 16, 2010, at 3:46 PM, Jun HU wrote:

Dear everyone, 

My first language is C, and I've strong intention in learning a pure
functional programming language. My very first question is how to
think in the functional programming way, anyone has some ideas.
Really appreciate.... 
 
Regards,

Jun
_______________________________________________
Beginners mailing list
Beginners@haskell.org
http://www.haskell.org/mailman/listinfo/beginners