Haskell: diferenças entre revisões
[edição não verificada] | [edição verificada] |
Conteúdo apagado Conteúdo adicionado
m duplicado |
|||
Linha 18: | Linha 18: | ||
== Ver também == |
== Ver também == |
||
{{wikipedia|Haskell (linguagem de programação)}} |
{{wikipedia|Haskell (linguagem de programação)}} |
||
{{Ficha do livro |
|||
|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}} |
{{AutoCat|Programação}} |
||
{{Ficha do livro |
{{Ficha do livro |
||
|Etapa = |
|Etapa = 2<!-- 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 12h19min de 7 de fevereiro 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