There are many Haskell tutorials online. Even online classes.
You can search and make your choices, I won't make recommendations
since I haven't used any of them. I am sure there are worthwhile
resources that I am unaware of.
This is worth a look:
And perhaps this also:
The best book, and the best place to start learning Haskell is the
book "Learn you a Haskell for Great Good". This is commonly shortened
to "Learn you a Haskell", or even just "LYAH", as I will refer to it.
I began my Haskell journey with the online book
Some people will be entirely put off by some of the authors silliness. That is too bad, but people have different tastes. Nicely enough, the entire book is available online. I bought a printed copy and am glad I did. I see used copies at nice prices.
A second book can be recommended with certain reservations, namely "Real World Haskell". We will refer to this as "RWH" throughout these notes. I also see used copies of this at nice prices. I'm actually warming up to this book quite a lot as I go through it again. It betrayed me during my early learning, as I describe below. I may yet revise my opinion altogether.
My first reservation is that the book is old (from 2008), though that doesn't really impact its usefulness very much. It is just too bad that it hasn't gotten revised and some issues repaired. On the other hand LYAH dates from 2011, and the online version probably from before that.
The second reservation and big problem is chapter 10. The first 9 chapters and many that follow are really pretty good. But something happens in chapter 10 -- the writer takes you to a cliff and the only option is to jump. The book has 3 authors, and I suspect we transitioned from one author to a second one after chapter 8 or 9 -- but who knows. I am not the only person to comment on this. But the first part of the book is really good, and you can view chapter 10 as a Mount Everest challenge for your Haskell journey.
I recently ordered the following book, published in 2021. It is on the way and in the mail, thanks to the availability of a nicely priced used copy. More to come -- I have high hopes.At some point I bought another book that turned out to be a class textbook. It was terrible, and it is probably just as well that I don't remember or cite the title.
What exists is called "the Haskell Report". You can locate the original version (Haskell 98), or better yet obtain the "Haskell 2010 revised report". It has not been revised since, for better or worse. Better, because it is always a nuisance when a language is a moving target undergoing endless revisions (yes, I am thinking of Python now). But a person does have to ask how much Haskell has changed since the 2010 report.
The story is that a further revision is unlikely. The Haskell crew has no enthusiasm for such an effort. We can only surmise the reasons. Perhaps many of them have retired or moved on to other things. Certainly a policy of not putting energy into documentation would fit right in with the Haskell slogan "Avoid success at all costs".The 2010 revised report is 148 pages and the first page is marked "DRAFT" as I presume it has been for the past 16 years.
Tom's software pages / tom@mmto.org