Haskell é uma linguagem de programação puramente funcional e de propósito geral, a primeira versão de Haskell foi definida em 1 de abril de 1990, assim, seguiu-se a versão 1.1 em agosto do próximo ano, a versão 1.2 veio em março de 1992, em maio de 1996 a versão 1.3 e em abril de 1997 a versão 1.4. O nome da linguagem foi em homenagem ao lógico Haskell Curry.
Como uma linguagem funcional, a estrutura de controle primaria é a função, que a linguagem é baseada nas observações de Haskell Curry e em seus descendentes intelectuais. A linguagem e muito utilizada no meio acadêmico, é uma linguagem relativamente nova, é derivada de outras linguagens funcionais, como por exemplo, Miranda e ML. Heskell uma linguagem que possui foco no alcance de soluções para problemas matemáticos, clareza, e de fácil manutenção nos códigos, e possui uma variedade de aplicações e apesar de simples é muito poderosa.
Os esforços posteriores culminaram no Haskell 98, publicado em janeiro de 1999, destinado a especificar uma versão mínima e portável da linguagem para o ensino e como base para futuras extensões e em janeiro de 2003 esse padrão sofreu uma revisão.
As características do Haskell incluem um suporte as funções recursivas e tipos de dados, casamento de padrões, list comprehensions, guard statements e avaliação preguiçosa, este é um elo em comum entre os diversos grupos de desenvolvimento da linguagem, com essas combinações destas características pode fazer com que a construção de funções que seriam complexas em uma linguagem procedimental de programação, torne-se uma tarefa quase trivial em Haskell.
A linguagem continua evoluindo, as implementações Hugs e GHC continuam sendo consideradas os padrões de facto. A partir do ano de 2006 começou o processo de definição de um sucessor do padrão 98, conhecido informalmente por Haskell′ (“Haskell Prime”).
Então iniciou-se o processo de definir um sucessor, a intenção era de que viesse a ser um processo incremental para revisar a definição da linguagem, produzindo uma revisão nova anualmente, a primeira revisão foi chamada de Haskell, e foi anunciada em novembro de 2009, publicada em julho de 2010. O Hekell 2010 é uma atualização incremental da linguagem, incorporando atributos muito utilizados e não controversos previamente ativados por bandeiras específicas do compilador.
Características do Hekell 2010
- Módulos hierárquicos
- A interface de função estrangeira (FFI)
- Os chamados padrões n+k (definições da forma fact (n+1) = (n+1) * fact n) não são mais permitidos
- As regras de inferência de tipo foram afrouxadas para permitir que mais programas chequem o tipo
- Alguns assuntos da sintaxe (mudança na gramática formal) foram corrigidos
- A diretriz da linguagem foi especificada