mar.17

Então, o que é Haskell?

Haskell é uma linguagem de programação puramente funcional.

Em linguagens de programação imperativas você pensa nas coisas seguindo uma sequência computacional de tarefas sendo executadas, embora durante o processo possam mudar de estado. Por exemplo, você define uma variável como 5 e então faz alguma coisa e em seguida a define como sendo alguma outra coisa qualquer. Você possui o controle do fluxo da estrutura podendo fazer uma determinada ação diversas vezes. Na programação puramente funcional você não diz para o computador o que fazer, porém muitas vezes você diz em qual coisa está. O fatorial de um número é o produto de todos os números sobre 1 deste número, a soma de uma lista de números é o primeiro mais a soma de todos os outros números e assim por diante. Você expressa isto na forma de funções. Você também não pode definir uma variável como sendo alguma coisa e em seguida defini-lá como sendo alguma outra coisa mais tarde. Se você disser a uma função que algo é 5, você não poderá dizer depois que é alguma outra coisa porque você já disse que era 5. O que você é? Algum tipo de mentiroso? Então, em linguagens puramente funcionais, uma função não tem efeitos colaterais. A única coisa que podemos fazer com uma função é calcular algo e devolvê-lo como um resultado. Inicialmente, eu vi isto como uma limitação, porém isto realmente tem algumas consequências interessantes: se a função é chamada duas vezes com os mesmos parâmetros, isto garantirá o retorno de um mesmo resultado. Isso se chama transparência referencial e não só permite que o compilador raciocine sobre o comportamento do programa, como também permite que você deduza facilmente (e até mesmo prove) que uma função está correta e, em seguida, construa funções mais complexas juntando diversas funções simples por “colagem.

Esse texto foi tirado do site do nosso amigo Tailor Fontela, onde há inúmeros conteúdos relacionados a Haskell, os quais eu também estou lendo http://haskell.tailorfontela.com.br/introduction#so-whats-haskell.

Link para descobrir e estudar um pouco mais sobre Haskell: http://haskell.tailorfontela.com.br/

Caso queiram acompanhar meus projetos em Haskell: http://github.com/ma-theus/Haskell

Indico muito essa linguagem para quem está descobrindo sobre programação funcional, vale a pena.

Compartilhar esta história:
  • facebook
  • twitter
  • gplus

Sobre Matheus Lúcio

Desenvolvedor atuante no ambiente WEB, com linguagem PHP e Framework Zend. Experiência com outros frameworks, e com linguagens desktop por exemplo: C#, Delphi. Bacharelando de Sistemas de Informações pela Universidade Paulista.

Enviar um comentário