TrabalhosGratuitos.com - Trabalhos, Monografias, Artigos, Exames, Resumos de livros, Dissertações
Pesquisar

Programação em Haskell

Relatório de pesquisa: Programação em Haskell. Pesquise 860.000+ trabalhos acadêmicos

Por:   •  3/11/2013  •  Relatório de pesquisa  •  9.622 Palavras (39 Páginas)  •  249 Visualizações

Página 1 de 39

ÓAndré Rauber Du Bois

Programação Funcional com a

Linguagem Haskell

ÓAndré Rauber Du Bois

dubois@macs.hw.ac.uk

ÓAndré Rauber Du Bois

2

Índice

CAPÍTULO 1 – Programação em Haskell__________________________________ 4

1.1 Expressões e Funções_________________________________________________ 4

1.2. Inteiros____________________________________________________________ 6

1.3 Booleanos _________________________________________________________ 8

1.4 Caracteres e Strings __________________________________________________ 9

1.5 Números em Ponto Flutuante __________________________________________ 11

1.6 Tuplas ____________________________________________________________ 12

1.7 Funções Recursivas _________________________________________________ 13

1.8 Exemplos _________________________________________________________ 15

CAPÍTULO 2 – Listas em Haskell _______________________________________ 18

2.1 Listas_____________________________________________________________ 18

2.2 Operadores ________________________________________________________ 19

2.3 Funções sobre Listas_________________________________________________ 20

2.4 List Comprehensions ________________________________________________ 24

2.5 Definições_________________________________________________________ 26

2.6 Outras Funções Úteis sobre Listas ______________________________________ 30

2.7 Listas Infinitas _____________________________________________________ 33

2.8 Erros _____________________________________________________________ 35

CAPÍTULO 3 – Conceitos Avançados ____________________________________ 37

3.1 Currying __________________________________________________________ 37

3.2 Composição de Funções______________________________________________ 39

3.3 Expressões Lambda _________________________________________________ 41

CAPÍTULO 4 – Classes de Tipo _________________________________________ 43

4.1 Classes de Tipo_____________________________________________________ 43

4.2 Classes Derivadas___________________________________________________ 45

4.3 Contexto __________________________________________________________ 46

4.4 Algumas Classes Importantes__________________________________________ 47

4.4.1 Enum ___________________________________________________________ 47

4.4.2 Read e Show _____________________________________________________ 48

4.4.3 Classes de Números________________________________________________ 48

ÓAndré Rauber Du Bois

3

CAPÍTULO 5 – Tipos Algébricos ________________________________________ 50

5.1 Tipos Algébricos ___________________________________________________ 50

5.2 Tipos Recursivos ___________________________________________________ 52

5.3 Tipos Algébricos Polimórficos_________________________________________ 55

CAPÍTULO 6 – Abstract Data Types_____________________________________ 57

6.1 Abstract Data Type (ADT)____________________________________________ 57

6.2 Exemplo de ADT (Conjuntos) _________________________________________ 58

CAPÍTULO 7 – IO ____________________________________________________ 68

7.1 Interação com o Usuário______________________________________________ 68

7.2 Arquivos __________________________________________________________ 70

7.3 Interações Infinitas __________________________________________________ 72

7.4 Mônadas __________________________________________________________ 73

CAPÍTULO 7 – Construção de Módulos __________________________________ 74

7.1 Módulos __________________________________________________________ 74

7.2 Criando Um ADT___________________________________________________ 76

ÓAndré Rauber Du Bois

4

CAPÍTULO 1 – Programação em Haskell

1.1 Expressões e Funções

A idéia principal da linguagem Haskell é baseada na avaliação de expressões. A

implementação da linguagem avalia (simplifica) a expressão passada pelo programador até

sua forma normal. Por exemplo:

Haskell >”Alô Mundo!!”

“Alô Mundo!!”

Neste exemplo foi passada para o interpretador Haskell a string (seqüência de

caracteres) “Alô Mundo!!”. O sistema respondeu com a mesma seqüência de caracteres,

pois esta expressão não pode mais ser avaliada, já encontra-se normalizada. Pode-se utilizar

comandos mais complexos:

Haskell> 4 + 3

7

ou

Haskell> ((9*6)+(59/3)) *27

1989.0

...

Baixar como (para membros premium)  txt (63.9 Kb)  
Continuar por mais 38 páginas »
Disponível apenas no TrabalhosGratuitos.com