Haskell: diferenças entre revisões
[edição não verificada] | [edição não verificada] |
Conteúdo apagado Conteúdo adicionado
Sem resumo de edição |
|||
Linha 21: | Linha 21: | ||
{{Ficha do livro |
{{Ficha do livro |
||
|Etapa = 2 |
|Etapa = 2 |
||
|Nível educacional 1 = |
|||
|Tema 1 = <!-- Antes de preencher este campo, opine na [[Wikilivros Discussão:Biblioteca#Proposta]] --> |
|||
|CDD 1 = |
|||
|CDU 1 = |
|||
|CBC 1 = |
|||
}} |
|||
{{AutoCat|Programação}} |
|||
{{Ficha do livro |
|||
|Etapa = 0<!-- um número de 0 até 8 --> |
|||
|Nível educacional 1 = |
|Nível educacional 1 = |
||
|Tema 1 = <!-- Antes de preencher este campo, opine na [[Wikilivros Discussão:Biblioteca#Proposta]] --> |
|Tema 1 = <!-- Antes de preencher este campo, opine na [[Wikilivros Discussão:Biblioteca#Proposta]] --> |
Revisão das 11h39min de 26 de janeiro de 2011
Haskell é uma linguagem de programação puramente funcional, de propósito geral, nomeada em homenagem ao lógico Haskell Curry.
As suas principais características são:
- avaliação preguiçosa - que permite ao programador definir listas infinitas, e deixar que o programa só calcule os valores que realmente precisa
- funções recursivas
- "compreensão de lista" (list comprehension)
- casamento de padrões
- não existem variáveis: uma vez associado um valor a um símbolo, este não pode mais mudar (dentro do seu escopo)
- todas as funções são unárias; o tratamento do que em outras linguagens seriam funções binárias, ternárias, etc é feito por currying