Академический Документы
Профессиональный Документы
Культура Документы
Glauber Henrique
João Paulo
Rodrigo Monteiro
Thaís Bione
Introdução
Ex.:
Map
Em Haskell:
Aplica uma função a todos os elementos de uma lista...
def:
map :: (t->u) -> [t] -> [u]
map f [] =[]
map f (a:x) = f a : map f x
Ex.:
Em Python:
Aplica uma função a todos os itens de uma sequência,
gerando outra lista contendo os resultados e com o mesmo
tamanho da lista inicial. Sempre retorna uma lista.
Ex.:
Filter
Em Haskell:
Filtra a lista através de um predicado ( função que tem tipo
Bool), ou propriedade.
def.:
filter :: (t-> Bool)-> [t] -> [t]
filter p [] = []
filter p (a:x)
| p a = a : filter p x
| otherwise = filter p x
Ex.:
Em Python:
Uma função é aplicada em todos os itens de uma sequencia, se a
função retornar um valor que seja avaliado como verdadeiro, o
item original fará parte da sequencia resultante.
Ex.:
Zip
Em Haskell :
Transforma duas listas em uma lista de tuplas.
def.:
zip (a:x) (b:y) = (a,b) : zip x y
zip _ _ = []
Ex.:
Em Python:
Constrói uma série de sequências a partir de outra, aonde a
primeira nova sequência contém o primeiro elemento de cada
sequência original, a segunda nova sequência contém o segundo
elemento de cada sequência original, até que alguma das sequências
originais acabe.
EX.:
List Comprehension
Em Haskell :
É uma maneira de se descrever uma lista inspirada na notação
de conjuntos.
Na list Comprehension o a <-list é chamado de generator
(gerador), pois ele gera os dados em que os resultados são
construídos. Os geradores podem ser combinados com predicados
(predicates) que são funções que devolvem valores booleanos (a->
Bool).
Ex.:
Em Python:
Equivale a uma notação matemática tipo:
Ex.: