There’s been a lot of love lately for Clojure (which Heroku now supports), Scala (used at Twitter among other places) and Erlang (used by Facebook among other places). But if you’re interested in functional programming, don’t forget about Haskell.
Try Haskell
Before checking out the books below, you can check out Try Haskell an interactive, browser based tutorial. This will give you an overview of the language and help you decide if Haskell is right for you.
Learn You a Haskell for Great Good
Learn You a Haskell for Great Good is available as a print book or for free online. It’s meant to introduce both Haskell and functional programming, but a background in programming is assumed.
Real World Haskell
Real World Haskell by Bryan O’Sullivan, Don Stewart, and John Goerzen was published by O’Reilly Media and is available online. In contrast to academic texts on Haskell, the book focuses on practical applications of functional programming. It assumes programming experience, but requires no knowledge of functional programming.
Yet Another Haskell Tutorial
Yet Another Haskell Tutorial (PDF) by Hal Daume´ III is a 182 page tutorial that assumes no programming experience, functional or otherwise. Like the above books, this tutorial assumes no previous knowledge of functional programming. It does suggest some background in programming, though, as it is not a general introduction to programming.
A Gentle Introduction to Haskell
A Gentle Introduction to Haskell by Paul Hudak, John Peterson and Joseph Fasel is a 64 page tutorial for those who already have some experience with functional programming.
Haskell: Functional Programming with Types
Like most Wikibooks, Haskell: Functional Programming with Types is a work in progress. The book is separated into three “tracks”: beginner, advanced and “Haskell in Practice.”
More Stuff
The tutorials section of the official Haskell site is a great place to look for more tutorials, examples and reference materials. It goes far beyond just tutorials and is one of the best collections of learning materials for a programming language I’ve seen yet.