Haskell is a pure, lazy functional programming language. It is pure because it permits no side-effects; all calculations are referentially transparent. It is lazy because evaluation is deferred until it is actually needed; this permits infinite data structures. It is functional because evaluation proceeds by evaluating functions in succession; the language has no statements and no control structures. Haskell is the result of twenty years of research in programming languages, and provides a very powerful programming environment.
The Haskell programming community is quite well-organized. The haskell.org website has everything a Haskell programmer needs: downloadable compilers, publicly-available libraries, and tutorials about the use of the language.