Haskell

25% concluído
Origem: Wikilivros, livros abertos por um mundo aberto.

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 geral[editar | editar código-fonte]

Wikipedia
Wikipedia
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údo[editar | editar código-fonte]

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ção[editar | editar código-fonte]

Básico[editar | editar código-fonte]

Intermediário[editar | editar código-fonte]

Mônadas[editar | editar código-fonte]

Apêndices[editar | editar código-fonte]