6 ms·
It would be nice for this site to give more detailed advice on studying Haskell. Learning a language should be a side effect of studying its canon of programs.
by thisrod 16y ago
It would be nice for this site to give more detailed advice on studying Haskell. Learning a language should be a side effect of studying its canon of programs. Is there a book that relates to Haskell as TAoCP does to machine code, SICP to Scheme, K&R to C, and the dragon book to Lex and Yacc?
- scott_s 16y agoI've been working my way through Yet Another Haskell Tutorial: http://www.cs.utah.edu/~hal/docs/daume02yaht.pdf http://www.cs.utah.edu/~hal/docs/daume02yaht.pdf
- dons 16y agoSome advice is given in the "read more" link: http://hackage.haskell.org/platform/contents.html http://hackage.haskell.org/platform/contents.html
- kanak 16y ago> Is there a book that relates to Haskell as TAoCP does to machine code, SICP to Scheme, K&R to C, and the dragon book to Lex and Yacc? My vote would be for Richard Bird and Phil Wadler's Intro to functional programming using Haskell.
- thisrod 16y agoThanks. That sounds good.
- batterseapower 16y agoPossibly more up to date in Hutton's Programming in Haskell. I've heard very good things about it: http://www.cs.nott.ac.uk/~gmh/book.html http://www.cs.nott.ac.uk/~gmh/book.html
- kanak 16y agoI've read both books and like them both. However, I prefer Bird/Wadler better because there's a pervasive "let's derive this"/"let's prove this" approach to the topics. By which I mean, given a spec, let's derive a program that does the task (and later, let's optimize this function using laws we know such as relations between map and filter, the laws of fold). Hutton takes this type of approach only in his final chapter. Hutton is definitely easier, and does a better job of teaching you the core of Haskell, however Bird/Wadler teaches you how to derive programs from spec (further covered in Bird's Pearls of Functional Programming book). I think the difference is like the one between How to Design Programs and Structure and Interpretation of Computer Programs.
- ashutoshmehra 16y agoI have read a few chapters of this very beautiful book by Richard Bird called "Pearls of Functional Algorithm Design": http://www.amazon.com/Pearls-Functional-Algorithm-Design-Richard/dp/0521513383 http://www.amazon.com/Pearls-Functional-Algorithm-Design-Ric... You should definitely check it out. If you already know Haskell and you love algorithms, that book will probably be more interesting than the Intro to Haskell book. Also check out Okasaki's book of functional data structures: http://www.amazon.com/Purely-Functional-Structures-Chris-Okasaki/dp/0521663504 http://www.amazon.com/Purely-Functional-Structures-Chris-Oka...
- jmillikin 16y agoReal World Haskell: < http://book.realworldhaskell.org/ http://book.realworldhaskell.org/ > Written by three of the most prolific and capable Haskell library developers. It covers everything from introductory functional concepts to high-performance C-style stateful programming. You can buy a dead tree, or read it online for free.
- aperiodic 16y agoI'm working through that book right now, and it's fantastic. I'd used haskell before in class, but I definitely suffered from the "fibonacci gap." Now, I'm starting to do small scripts in haskell, and hopefully I'll be able to tackle a decently-sized project soon. I can't recommend this book highly enough if you're curious about haskell.
- danieldk 16y agoAt the time, the book seemed like a fresh breath of air, since it focused on solving real 'daily work'-style problems in Haskell. I used to recommend it to friends, but most of them were not so happy. The first few chapters are nice, but after that the examples really become contrived. Instead of giving simple standalone examples to explain a concept, the book starts using examples that tend to linger. People get bored or stuck and stop around chapter 6 to 8. I am hopeful that Learn You a Haskell will serve as a good introduction to Haskell, and will recommend it to anyone interested. RWH is still a fine book; once you understand Haskell, it's still great to go through the examples and exercises. But it is not a good starting point.
- T-R 16y agoIt definitely gets a little tough around the Parser example, but it does lighten up again once you get through the monad transformer section, though. For someone who's done some functional programming before, Real World Haskell is probably a good starting point; otherwise something like YAHT would probably be better.
- T-R 16y agoThe kindle edition isn't too bad, either, though you have to read it in Landscape mode to minimize the number of odd line-breaks in the code.
- jhpriestley 16y agoIf you're new, you might like something easy like the "gentle introduction to haskell" http://www.haskell.org/tutorial/ http://www.haskell.org/tutorial/. Unfortunately it does not cover more recent and advanced features; for that I would recommend Oleg Kiselyov's site http://okmij.org/ftp/Haskell/ http://okmij.org/ftp/Haskell/ (he is somewhat famous in the community for bringing advanced Haskell features "down to earth" with clear, simple examples).
- genera 16y agohttp://learnyouahaskell.com/ http://learnyouahaskell.com/ A very enjoyable tutorial. Supposedly, this site was going to come out in book form. If/when it does, it should become the de-facto "Camel book" for Haskell.
- sigzero 16y agoMarch 2011, 400 pp. http://nostarch.com/lyah.htm http://nostarch.com/lyah.htm
- BoppreH 16y agoFor a light-hearted, _why's Ruby guide style, there's the http://learnyouahaskell.com http://learnyouahaskell.com .