Trabalho Haskell
1. Introdução
A linguagem de programação Haskell é muitas vezes descrita dentre o mundo dos programadores como uma linguagem “profunda”. Tal denominação se explica devido há diferenças da linguagem Haskell e do paradigma de programação funcional em comparação com a programação dita como imperativa. Brevemente, a última se caracteriza por sua eficiência, que as vezes também é vista como uma restrição desnecessária, enquanto o paradigma funcional, é baseado em funções matemáticas, com uma sólida base teórica.
De acordo com O'Sullivan, B., Stewart, D. e Goerzen, J. (2008), ao começar a estudar Haskell, o programador acostumado com linguagens dinâmicas e com o paradigma de Orientação a Objetos, o mesmo deve abandonar algumas ideias fundamentais. Por exemplo, a estrutura de repetição (ou loop) for, muito conhecida entre os programadores de C, C++, Java, Python, etc. Em Haskell, a repetição for é inexistente, e a linguagem se utiliza de outras formas, às vezes mais flexíveis, para realizar tarefas repetitivas.
Outra dificuldade também apontada pelos autores, é de exercitar a forma de pensar funcionalmente, que é muito diferente da maneira de pensar orientada à objetos.
Esse paradigma funcional, o qual discorreremos a seguir, é uma forma oriunda puramente da matemática, sem relação com abstrações do mundo real (característica principal do paradigma orientado a objetos).
Sendo assim, com esse texto e suas sessões, buscaremos contextualizar o leitor às principais características da linguagem Haskell e do paradigma funcional.
Apresentaremos, também, o contexto atual da linguagem, que é fortemente acadêmico, junto com algumas utilizações e sintaxe básica.
2. A Linguagem de Programação Haskell
Um pouco antes da invenção dos computadores modernos, uma linguagem chamada de
“cálculo lambda1” foi inventada pelo matemático Alonzo Church, que anos depois, já no tempo das linguagens de programação influenciou a criação de