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

Just finished the book last night.. Some thoughts:

1. It covers the core language pretty well.

2. It covers the secondary aspects even better. Including: Linking to C, performance analysis, parallelization, and a touch of compiler internals.

3. Written in a very readable tone, but assumes it's not your first time around the functional block. I picked up the pragmatic erlang book after this, and was put away at how much "baby's first functional language" it was in comparison.

4. Lots of examples in different areas: GTK, databases, networking, binary I/O. Grounds the reader coming from C/C++/Java land pretty well back in how to use the functional stuff for real work. Also shows that you can get all those tasks done with a good functional style, without mind bending.



I agree with your points. However I know many programmers who don't enjoy this step-by-step nonsense it gives and would rather just have the language definition and a few short examples (not a complete JSON parser or binary file parser for instance).

So I would say: Want a book that'll have you learn Haskell fairly well and give you giant examples, but takes a week to read (or more)? Read RWH.

If you want to learn the basic language, w/o much example fluff, and learn the language in 2 days, read YAHT (linked in a comment below by me).


One thing that I don't like about the way the material is presented in the book is that they mix very important key concepts of the language with examples of practical applications. For example, the chapter about JSON is not really about JSON, it's about how to write a library and package it with Cabal.

I skipped over the chapter about binary parsing the first time I went through the book because it seemed like pretty dull content. Later I returned to it, and about one-third of the way through it I found myself completely stumped and scratching my head. Out of nowhere they drop the state monad in your lap without really motivating it, or telling you what it is or warning you that most people find it a little bit difficult to wrap their head around at first.

At that point I was completely lost until a gathered together enough clues to go searching around on the internet for more explicit descriptions of what a state monad is.


And if you have serious problems focusing (like I do) I recommend http://learnyouahaskell.com/ It was very easy to read.


LYAH was what got me really going with Haskell. Highly recommended.




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

Search: