122

I've been looking for a decent guide to Haskell for some time, but haven't been able to find one that seems interesting enough to read through and/or makes sense.

I've had prior exposure to Haskell a few years back, but I can't remember much about it. I remember the "Aha!"-feeling was incredible when I finally got it, and it was actually fun to play with, so I'm looking to rediscover the lost art of Haskell.

I'm familiar with Ruby and its functional programming tricks, so I think I'm not completely in the dark. Any links?

Chris
  • 6,761
  • 6
  • 52
  • 67
wvdschel
  • 11,800
  • 14
  • 41
  • 45
  • 9
    I was searching for a beginners guide to haskell and came here. How is the original question not constructive? Closing it is even less constructive. PFFT this is sometimes such an elitist site. – drumfire Nov 17 '13 at 01:16
  • @drumfire: Now we have new reasons and there's a better one to close it, as off-topic: Questions asking us to **recommend or find a book, tool, software library, tutorial or other off-site resource** are off-topic for Stack Overflow as they tend to attract opinionated answers and spam. Instead, [describe the problem](http://meta.stackoverflow.com/questions/254393) and what has been done so far to solve it. – Remi Guan Jan 02 '16 at 05:27

16 Answers16

75

This looks like it fits the bill in the style of Why's Poignant Guide to Ruby.

Learn You a Haskell for Great Good!

Thomas Levesque
  • 286,951
  • 70
  • 623
  • 758
Don-Duong Quach
  • 1,046
  • 2
  • 9
  • 11
  • 6
    I thought neither Why's Poignant Guide nor Ruby were poignant enough to cause tears. I get their intent and I'm sure they've made a positive impact but I think Haskell and Learn You a Haskell are more stupendous by a long shot. Miran has done a wonderful job and the artwork is top notch. – Jared Updike Aug 12 '09 at 22:18
  • been using it, not a full knowledge base by any means but a great start. – Dmitri Farkov Oct 07 '09 at 16:32
  • 9
    I found _LYAH_ to be a great beginners' guide. It teaches Haskell slowly and in a loose (read less-academic) language that is really suited for the beginners. I recommend reading _LYAH_ and _Real World Haskell_ side by side as they really complement each other. – Abhinav Sarkar Oct 18 '10 at 17:54
  • 1
    I thought this was a great introduction for someone who wants to learn about functional programming. It doesn't have good practice problems, and it takes the reader a long time to get to the point at which they can make useful things with Haskell. – Alex Szatmary Aug 13 '13 at 19:54
  • This tutorial was a real pleasure to read, and it even managed to teach me complex concepts like applicatives or monads without giving me a headache ;) – Thomas Levesque Jun 01 '14 at 22:14
50

Some good places to start are:

Other resources:

Julian Leviston
  • 1,646
  • 10
  • 21
Pascal
  • 4,127
  • 8
  • 33
  • 29
  • 4
    404 Fix first link please: server replies "The system cannot find the path specified." – Tim Matthews Jan 08 '09 at 13:18
  • the URL to "the generic haskell user guide" reports the message **We are sorry ! This URL does not match any resource in our repository.** – alepuzio Feb 04 '10 at 11:17
  • The "Study plan for Haskell" hyperlink seems to be broken, too. That's not a request for deletion; perhaps someone here remembers that particular resource and can find it somewhere else. – stakx - no longer contributing Aug 14 '11 at 17:25
  • 1
    The "Study plan for Haskell" link has apparently been fixed by moving it to the Wayback Machine. – simon Oct 15 '11 at 08:48
  • This answer is old. http://learnyouahaskell.com/chapters should at least be added to the list – Jay Sullivan Jan 11 '14 at 02:30
  • The blog entry for [Study plan for Haskell](http://www.alpheccar.org/content/67.html) was just relocated. It is [http://www.alpheccar.org/content/67.html](http://www.alpheccar.org/content/67.html) – FluffulousChimp Jun 16 '14 at 10:15
22

If you're like me, and like videos of presentations, than this is a good tutorial:

A Taste of Haskell

It's a three-hour tutorial, that uses xmonad as a running example to explain Haskell to experienced (imperative) programmers. The presentation is given by Simon Peyton-Jones who, besides being one of the top Haskell designers, is also a great speaker.

Tom Lokhorst
  • 13,658
  • 5
  • 55
  • 71
  • 1
    Link to talk's page with videos and slides: https://www.microsoft.com/en-us/research/video/taste-haskell-part-1/ – user905686 May 16 '21 at 10:05
19

Once you get past the beginning stages, I would highly recommend reading Real World Haskell.

OJ.
  • 28,944
  • 5
  • 56
  • 71
  • I stopped reading it partway through. I was reading the free online version, which had weird, uncorrected errors (despite commenters noting them). The exercises in the third chapter were good, except for the last problem, which included the Graham scan algorithm for finding the convex hull of a set of points. This was a sudden jump in difficulty, especially for those unfamiliar with the algorithm. – Alex Szatmary Aug 13 '13 at 20:00
12

The Haskell wikibook which includes the text from the great tutorial Yet Another Haskell Tutorial.

(The "Generic Haskell User Guide" paper is a fine paper, but I think it is a particularly bad recommendation for a beginning Haskell programmer, as it is more of an academic paper presenting extensions to Haskell and basically a different language "Generic Haskell" (i.e. Haskell with an old version of Generics) instead of standard Haskell 98. <irony>If you were looking for dense reading about Haskell, start with the Haskell 98 report.</irony>)

stites
  • 4,903
  • 5
  • 32
  • 43
Jared Updike
  • 7,165
  • 8
  • 46
  • 72
11

Real World Haskell is a really good book.

user9282
  • 680
  • 1
  • 7
  • 15
10

Yet Another Haskell Tutorial (PDF) worked for me.

Edit: Updike points out that the text of YAHT has been folded into the Haksell Wikibooks. The PDF is still useful if you (like me) prefer to print out and read on paper.

BTW I have also read A Gentle Introduction To Haskell (also available as PDF). I will definitely not recommend this for beginners. It is only gentle compared to the Haskell Report. However it is a good reference when you have a solid understanding of the language.

gliptak
  • 3,592
  • 2
  • 29
  • 61
JacquesB
  • 41,662
  • 13
  • 71
  • 86
  • 1
    Great recommendation, but see my above comment about he the text of YAHT was incorporated into the live Wiki book. – Jared Updike Oct 29 '08 at 18:32
  • 1
    Agree re: Gentle Introduction to Haskell. It's great to read to pat yourself on the back once all the concepts have finally sunken in, but there are better resources out there for beginners. – Jared Updike Aug 12 '09 at 22:21
7

A rather late response but I thoroughly enjoyed reading from Learn You A Haskell available online as well as a book.

WorldIsRound
  • 1,544
  • 10
  • 15
6

I've been told to look at Programming in Haskell, from Graham Hutton

Xavier Nodet
  • 5,033
  • 2
  • 37
  • 48
  • 1
    I own this book as at least three other books about Haskell, and I judge it second place after the Haskell school of expression. I have read the Rel Haskell outline and I'm quite sure this will get the best book about Haskell Regards – Friedrich Oct 21 '08 at 08:31
6

In addition to "Real World Haskell", find a copy of "Haskell: The Craft of Functional Programming". Great textbook.

stites
  • 4,903
  • 5
  • 32
  • 43
unclerojelio
  • 435
  • 6
  • 12
5

I like Haskell Tutorial for C Programmers. Especially if you are coming from an imperative language background as I do.

Szere Dyeri
  • 14,916
  • 11
  • 39
  • 42
4

I have downloaded 10 slides from this page http://www.cs.nott.ac.uk/~gmh/book.html and going through it for many times. It workz ;)

Mohan Narayanaswamy
  • 2,149
  • 6
  • 33
  • 40
  • 1
    Erik Meijer uses Hutton's book in his video series. https://channel9.msdn.com/Series/C9-Lectures-Erik-Meijer-Functional-Programming-Fundamentals/Lecture-Series-Erik-Meijer-Functional-Programming-Fundamentals-Chapter-1 – Marc Lambrichs Sep 10 '17 at 15:50
4

Strange that nobody suggested Real World Haskell. That's IMHO the best Haskell book you currently can get you can get it for on or offline reading.

stites
  • 4,903
  • 5
  • 32
  • 43
Friedrich
  • 5,916
  • 25
  • 45
3

There is also a nice lecture series from the RWTH Achen.

I got all of this info from the Haskell Wiki's Video presentations page.

stites
  • 4,903
  • 5
  • 32
  • 43
epsilonhalbe
  • 15,637
  • 5
  • 46
  • 74
3

One thing that is really unique about Haskell is that there is a mailing list exactly for beginners. Go to Haskell-Beginners.

Reading books is good, but having some humans to ask is always a great resource, too. Together, I think there is absolutely no reason to say "Haskell is hard to learn because there's no material on it."

You might also want to visit #haskell at irc.freenode.net.

Aleksandar Dimitrov
  • 9,275
  • 3
  • 41
  • 48
2

This is where I started. haskell.org

Kevin Goff
  • 1,331
  • 1
  • 13
  • 18