views:

872

answers:

7

What would be the most practical online tutorial(s) for quickly getting up to speed with Haskell?

I have a decent amount of programming experience with PHP, Java ja Javascript, so there is something to build on. I have checked out the Haskell official homepage @haskell.org but the materials there are a bit ..well.. a bit difficult to follow for a Haskell novice like me. Docs @haskell.org give almost no obvious clues how to think about Haskell programs per se and all samples seem to presuppose some kind of a previous experience or go to the other extreme and try to explain everything from a kindergarten level.

What I am looking for ought be a practical guide that outlines the basic structure of Haskell programs and it's sub-components, discusses briefly the main points of execution logic and the core syntactical issues plus some general strategies for expressing or translating the classical do-this-do-that-algoritmic solutions into functional ones.

Is there anything like that around?

+17  A: 

Definately Real World Haskell.

Yet another Haskell tutorial may be useful too since it also follows a practical approach.

Edit:

Recently I discovered Write Yourself a Scheme in 48 Hours and it seems pretty much like what you want. The clou with this one is you learn some Scheme too.

daddz
+8  A: 

Have you looked at Real World Haskell (Oreilly book that is also freely available online)?

Roland
A: 

I just started learning Haskell three days ago, and A Gentle Introduction to Haskell combined with the Haskell 98 Language Report have been doing pretty well for me. Most of the other material on haskell.org was indeed pretty useless though.

Joren
+19  A: 

I really love Learn you a Haskell for Great Good. It is more like a tutorial than real world Haskell:)

pierr
+1 It's an outstanding tutorial... and it's got funny pictures \o/ ;)
Christian
Haskell's syntax is different than your typical imperative (or Lisp). Learn You a Haskell for Great Good does a great job of showing the basic constructs required. Great way to spend an afternoon.
TK
+1  A: 

At some stage in learning Haskell, you'll come across and get stuck up at "monads." Bookmark the following link for future:

Jaywalker
Personally I prefer "All About Monads" (http://www.haskell.org/all_about_monads/html/index.html), especially the physical analogy.
rtperson
+1  A: 

Haskell for C programmers + Real World Haskell (already mentioned) did the trick for me.

sbk
+3  A: 

I agree with most of the other suggestions, particularly Yet Another Haskell Tutorial (PDF), Learn You A Haskell for Great Good (similar in approach to Why's guide to Ruby) and the book Real World Haskell.

One that hasn't been suggested is Simon Peyton Jones' Tackling the awkward squad: monadic input/output, concurrency, exceptions, and foreign-language calls in Haskell (PDF). Maybe it shouldn't be the first thing that you read, but if you want to get up to speed with some of the things that you'll need to write useful real-world programs, this article is invaluable. In fact, any papers or videos by Simon Peyton Jones should be worthwhile as he is very good at explaining things in a way that normal programmers can understand.

Dan Dyer