
This tutorial is aimed at people who have experience in imperative programming languages (C, C++, Java, Python …) but haven't programmed in a functional language before (Haskell, ML, OCaml …). So this is an attempt at adding another useful resource for learning Haskell so you have a bigger chance of finding one you like. By going through several resources, I was able put together the pieces and it all just came falling into place. The way I learned it was by reading several different tutorials and articles because each explained something in a different way than the other did. When I was starting out in Haskell, I didn't learn from just one resource. There are quite a few tutorials on Haskell floating around on the internet. I decided to write this because I wanted to solidify my own knowledge of Haskell and because I thought I could help people new to Haskell learn it from my perspective.



Well, you've come to the right place, but let's talk about this tutorial a bit first. If you're reading this, chances are you want to learn Haskell. Welcome to Learn You a Haskell for Great Good!
