tags:

views:

1943

answers:

11

I would like to start Haskell, just out of curiosity.

What books do you recommend?

+2  A: 

I learned my first steps with "Yet Another Haskell Tutorial" and I would say it is pretty good. YAHT

cjanssen
+8  A: 
Johannes Hoff
+1  A: 

If you are a newbie to functional programming in general, and just happen to want to learn Haskell in the process, then there's probably nothing better than Introduction to Functional Programming

It seems it's out of print though, so you might want to try Introduction to Functional Programming using Haskell, although I cannot attest the quality of this book.

dguaraglia
Introduction to Functional Programming using Haskell rocks.
+1  A: 

I know only one (so I can't compare): The Haskell Road to Logic, Maths and Programming. It seems you can download the pdf (google the title).

It starts real easy, then gets quite mathematical. The approach seems interesting. Unfortunately I had to stop learning Haskell for lack of time and don't know good you math skills must be.

Christian Lescuyer
+16  A: 

I learned Haskell relatively recently, but did not use any physical books. Instead, I used some online guides:

A gentle introduction to Haskell, used over and over again. I think this might be a great first step.

Yet another Haskell tutorial. I enjoyed this book a lot, in particular because I tried to solve the exercises. (Sometimes I tried too hard. If you want to, also, try func2 from Exercise 7.1 -- the official solution is not correct.)

I did not use the official specification, except maybe once or twice because I wanted to check the official spec for some nuance: Haskell 98 report

You may also be interested in two language-specific introductions (I did not use either, however, and so I cannot recommend them): Haskell tutorial for C programmers and Haskell for Perl programmers

I did, however, read some papers on Haskell: A history of Haskell: being lazy with class

I know this is getting ahead of myself, but if you're interested in STM (software transactional memory), I enjoyed Beautiful concurrency.

I specifically learned Haskell to write a parser. As such, I used the following guides for the Haskell library Parsec: (as a side effect, I found that I understood monads better) Parsec, a fast combinator parser (the official guide) and Parsec: direct style monadic parser combinators for the real world

Finally, as John suggested and to complete the list, a more recent one is "Real World Haskell".

A. Rex
+20  A: 

For a more recent and practical book. Read "Real World Haskell".

John
That's the book I bought after all ;)
pek
Over the last couple year, I've made a couple attempts at learning Haskell, but it kept eluding me. Anyway RWH is my third Haskell book, and by far the clearest, most practical and the best. Its really starting to stick, and I'm now writing non-trivial programs in the most elegant style I've ever produced. I can't recommend this book highly enough.
nont
This is brilliant and it's free as well. Better than paying £54 for "introduction to functional programming using haskell"
Callum Rogers
Got this book because it was the only one available in Kindle edition. Highly recommend
Kozyarchuk
+1  A: 

YAHT was imported into the Haskell wikibook project where it has been expanded upon so I would check out the wikibook.

Jared Updike
+1  A: 

Davie's Introduction to Functional Programming Systems Using Haskell is quite a gem.

Jared Updike
+6  A: 

I'd recommend two books:

  • Programming in Haskell by Graham Hutton. There is an quite recent and extensive review available here saying it's the best introduction available to Haskell at this point.

  • Real World Haskell by Bryan O'Sullivan, Don Stewart, and John Goerzen. You can pre-order or read the free online copy (not just the beta). It covers many interesting and useful topics on how to write applications for the real world, once you've learned the basics.

L. Kolmodin
+1  A: 

Find a copy of "Haskell: The Craft of Functional Programming".

unclerojelio
Upvoted because I see no reason that you should have been downvoted for directly answering the OP's question.
Douglas Brunner
+7  A: 

Learn you a Haskell for great good! (free)

Dimitri C.
awesome book, really a nice way to start out with Haskell.
Gert M