Haskell-Logo-Variation.png

Haskell é uma linguagem de programação funcional. Se você possui alguma experiência com programação, talvez queira ter uma visão geral para entender um pouco como Haskell funciona e suas diferenças em relação a outras linguagens.

Haskell distingue-se de algumas maneiras:

  • Haskell é uma linguagem de programação funcional pura. Quando se chama a mesma função duas vezes, em momentos diferentes, mas com os mesmo argumentos, ela retornará exatamente o mesmo valor em ambas as vezes.
  • Haskell possui um sistema de tipos bastante sofisticado, incluindo classes e tipos algébricos generalizados.
  • Haskell é uma linguagem preguiçosa, isto é, que executa operações apenas quando elas são necessárias para obter um resultado final.

Uma das vantagens de Haskell é que o código resultante fica muito mais claro quando se usam apenas funções puras, o que torna bem mais fácil o processo de verificar se uma função está correta ou não. Além do mais, o sistema de tipos ajuda a detectar muitos erros, tanto sutis e profundos, quando explícitos e superficiais.

Visão geralEditar

A Wikipédia tem mais sobre este assunto:
Haskell (linguagem de programação)

Este livro, trata-se de uma tradução adaptada do wikilivro de Haskell em inglês. Entretanto, aqui apresentaremos apenas sua parte introdutória. Esperamos que programadores mais experientes estejam dispostos a contribuir com o processo de expansão desta iniciativa para que ela também inclua a parte avançada contida no original.

No caso de você já possuir alguma experiência de programação, é provável que as linguagens com os quais você se habitou sejam bastante diferentes de Haskell, então tenha paciência: hábitos e conceitos destas outras linguagens podem entrar em conflito com os próprio conceitos de Haskell, dificultando o processo de aprendizado. O melhor a se fazer é começar do básico e não pular etapas. Com certeza você aproveitará bastante esse momento de aprendizado.

ConteúdoEditar

Com os conceitos básicos da linguagem, mais prática com algumas das bibliotecas mais usadas, você conseguirá construir programas simples.

A maioria dos capítulos contem exercícios para testar seu progresso. As resoluções podem ser encontradas no apêndice do livro para que você verifique suas respostas.

IntroduçãoEditar

BásicoEditar

IntermediárioEditar

MônadasEditar

ApêndicesEditar