Questão 15: heads
Voltar
Defina a função heads :: [[a]] -> [a]
que recebe uma lista de listas e produz a lista com o primeiro elemento de cada lista.
Exemplo
> heads [[2,3,4],[1,7],[],[8,5,3]]
[2,1,8]
Resolução
heads :: [[a]] -> [a]
heads [] = []
heads ([]:t) = heads t -- é necessária esta definição pois, se `h` for uma lista vazia na definição abaixo, `head []` irá resultar num erro.
heads (h:t) = head h : heads t