I also recommend reading these web documents as a supplement:
http://dev.stephendiehl.com/hask/
https://wiki.haskell.org/All_About_Monads
https://wiki.haskell.org/Typeclassopedia
https://www.fpcomplete.com/blog/2017/09/all-about-strictness
I am now reading Haskell High Performance Programming (https://www.packtpub.com/application-development/haskell-hig...), and while the book is more intermediate (it assumes that you can find the documentation and read the Haskell code yourself), I think it is a good overview of how to use modern Haskell in real projects.
Also this is one of the best references while you're learning (not good as a tutorial, but chock full of invaluable resources): http://dev.stephendiehl.com/hask/ . TBH I wish every language had an equivalent of this guide.
The beginner material in the Haskell WikiBook is pretty solid: https://en.wikibooks.org/wiki/Haskell
Fairly sure it was recommended in here in the past and that's how I came to know it, can't give credit because I sadly don't remember.
[1]https://www.seas.upenn.edu/~cis194/spring13/lectures.html
While not purely functional, I also recommend JacaScript Allongé.
Both are free online!