Haskell is an advanced, general-purpose, purely functional programming language. It has a strong, static type system with Hindley-Milner type inference.

The language natively supports lazy evaluation, and functions are generally not allowed to have side effects. This leads to a concise and declarative style of programming, which differs quite a bit from conventional languages. By not allowing side effects and dealing with immutable data, the compiler can avoid whole classes of bugs.

Haskell generally compiles to fast, native code, but it can also be compiled to other targets like JavaScript (through GHCJS) or LLVM.

In Google Summer of Code, we attempt to improve not only the language, but the whole ecosystem. This includes (aside from the language itself):

Compilers

Commonly used libraries

Commonly used applications written in Haskell

Profilers, debuggers and other tools

Package managers and infrastructure

We have compiled an ideas list together with long-time Haskell users, compiler contributors and researchers, and as such we believe these are important projects for the industry and academia both.