Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

If you want to learn Haskell the most recommended book nowdays is Haskell Programming From First Principles[0].

[0]: http://haskellbook.com



The consensus on the Haskell subreddit was that the Haskell Wikibook (https://en.wikibooks.org/wiki/Haskell) has gotten even better than "Haskell Programming From First Principles".

In any case, that book ain't bad either. It's better than Learn You A Haskell.

I also like "Discrete Mathematics Using a Computer" (https://github.com/ryukinix/discrete-mathematics/blob/master...). It focuses on teaching discrete mathematics and introduces some Haskell as executable mathematical notation on the side.


The wikibook has gotten really good, and it's the reference I've started going to when I need a refresher on a concept, but HPfFP was the book that helped me actually "get" Haskell -- and I'd read pretty much every other beginner-to-intermediate resource by that point.

My experience has been that, generally speaking, programmers of language [X] don't have a particularly good grasp of what makes a good introduction to language [X], and I think that effect is even stronger with a difficult language like Haskell.

That said, I was about to read some of the new material in HPfFP, and I should also read the analogous wikibook content as an experiment. Thanks for linking it.


I do agree with your observation:

I remember a particularly vivid example of some of my coworkers at Google suggesting the Go tutorial, starting at https://tour.golang.org/welcome/1, to someone completely new to programming. They couldn't even understand how it's not perfectly clear and simple.

That being said the book that I've seen most success with getting someone from absolutely zero to "can start making progress on their own" is "How to Design Programs" (http://www.ccs.neu.edu/home/matthias/HtDP2e/index.html). It helps that the authors regularly teach absolute beginners.


Real World Haskell[0] is the best freely available resource imho.

If some concepts remain unclear, Learn You a Haskell[1] is a good complement, though it doesn't go as deep as Real World Haskell. For example there is no coverage of monad transformers, which is a pity.

Typeclassopedia[2] is a great overview of common category-theoretic abstractions used in Haskell programs.

[0] http://book.realworldhaskell.org/read/

[1] http://learnyouahaskell.com/chapters

[2] https://wiki.haskell.org/Typeclassopedia


RWH chapters 1-3 are great. It goes a bit weird from chapter 4. LYAH is better IMHO.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: