Haskell is, I think, after many decades, the first real answer to Lisp.
Why learn Haskell? Read about The Blub Paradox, then go read about Haskell. [Insert list of great features here.]
At least until I myself understand Haskell and tools for using Haskell better, I can't honestly recommend it for pragmatic, ordinary programming: the learning curve is steep (in that you have to learn a whole new way of programming, comparable to learning object-orientation), and depending on the scope of your project, there may be inadequate pre-written libraries and tools as compared to more popular languages. Where these two issues are not a problem, I think Haskell would beat the pants off C++ for "programming in the large", but there is as yet little documented experience doing so.
I still haven't gotten over how powerful this language is while still being highly structured and compiled! Its ability to re-factor code is amazing.
Haskell tends to appeal to computer science theory geeks, which means Haskell tutorials tend to be written like math books. Unfortunately, like the many math books that try to teach by proving things to you, many Haskell tutorials about monads try to teach by deriving monads at you.
When I had read various tutorials and articles and thought I was ready to actually use monads beyond just IO, the following two articles were most useful to me:
Monads are exciting because, among other features, they allow arbitrary structuring of computations (which is to say, the creation of new control structures) without resorting to macros, templates, or Lisp, and in a modular, uniform way.