Haskell

Haskell is a functional programming language, meaning that everything is expressed in terms of functions (expressions returning a value), rather than sequences of commands to be executed. Side effects of functions are discouraged. Haskell uses closures to allow functions to be passed as arguments to other functions in order to be made part of expressions there.

Links

 * Wikipedia article
 * Official site
 * Language specs
 * The evolution of a Haskell programmer