Haskel

Disponível somente no TrabalhosFeitos
  • Páginas : 10 (2465 palavras )
  • Download(s) : 0
  • Publicado : 27 de maio de 2012
Ler documento completo
Amostra do texto
Índice
1. Introdução 1
2. Haskell 2
2.1. Histórico 2
2.2. Primeiros Passos 3
3. Interpretador Hugs 4
4. Interpretador GHC 4
5. Outros Interpretadores 5
6. Identificadores em Haskell 5
7. Funções em Haskell 6
8. Construindo Funções 6
9. Avaliação de funções em Haskell 6
10. Tipos de dados em Haskell 7
10.1. Os tipos primitivos da linguagem 7
10.2.Programando com números e strings 9
10.3. Os tipos de dados estruturados de Haskell 10
11. Conclusão 11
12. Bibliografia 12

1. Introdução
A programação funcional baseia-se no conceito de função. Pode-se pensar na programação funcional como simplesmente avaliação expressões. O programador define uma função para resolver um problema, e passa esta para o computador avaliar. Uma funçãopode envolver várias outras funções em sua definição. O computador funciona então como uma calculadora que avalia as expressões escritas pelo programador através de simplificações até chegar a uma forma normal.

A característica que domina na programação funcional é que o significado de uma expressão é seu valor, e o papel do computador é simplesmente obtê-lo. Outra característica é que umafunção em uma linguagem funcional pode ser construída, manipulada e resolvida, como qualquer outro tipo de expressão matemática, usando leis algébricas.

Como a entidade principal da programação funcional é a função, pode-se definir listas de funções, funções podem devolver como resultado outras funções e podem ser passadas como argumento para funções.

O presente trabalho irá fazer uma introduçãobreve da linguagem de programação funcional Haskell, como foi referido acima, as linguagens de programação funcional avaliam funções e por isso não seria diferente com o Haskell.

2. Haskell
Haskell é uma linguagem funcional pura, não estrita, fortemente tipada, cujo nome é uma homenagem a Haskell Brooks Curry, um estudioso da lógica combinatorial e um dos mais proeminentes pesquisadoressobre λ-cálculo. É uma linguagem baseada em scripts, que consistem em um conjunto de definições associadas a nomes, em um arquivo.

3.1. Histórico
O conceito de avaliação preguiçosa já estava difundido no meio académico desde o final da década de 1970. Esforços nessa área incluíam técnicas de redução de grafo e a possibilidade de uma mudança radical na arquitectura de von Neumann. Após olançamento de Miranda em 1985, diversas outras linguagens funcionais de semântica não rígida proliferaram, como Lazy ML, Orwell, Alfl, Id, Clean, Ponder e Daisy (um dialecto de Lisp). Mesmo após dois anos, Miranda ainda era a mais usada, mas não estava em domínio público.

Em Setembro 1987 foi realizada uma conferência Functional Programming Languages and Computer Architecture (FPCA '87), emOregon, o consenso foi a criação de um comité com o objectivo de construir um padrão aberto para tais linguagens. Isso consolidaria as linguagens existentes, servindo como base para pesquisas futuras no desenvolvimento de linguagens. A primeira reunião do comité foi realizada em Janeiro de 1988, e algumas das metas da linguagem foram discutidas. A linguagem deveria ser de fácil ensino, deveria sercompletamente descrita através de uma sintaxe e semântica formal, deveria estar disponível livremente.

A primeira versão de Haskell foi definida em 1 de Abril de 1990. Seguiu-se a versão 1.1 em agosto de ano seguinte, a versão 1.2 em Março de 1992, a versão 1.3 em Maio de 1996 e a versão 1.4 em Abril de 1997. Esforços posteriores culminaram no Haskell 98, publicado em Janeiro de 1999 e queespecifica uma versão mínima, estável e portável da linguagem e a biblioteca para ensino. Esse padrão sofreu uma revisão em Janeiro de 2003.

A linguagem continua evoluindo, sendo as implementações Hugs e GHC consideradas os padrões de facto. A partir de 2006 começou o processo de definição de um sucessor do padrão 98, conhecido informalmente por Haskell′("Haskell Prime").

3.2. Primeiros...
tracking img