Questão 45: catMaybes
Voltar
Apresente uma definição recursiva da função pré-definida catMaybes :: [Maybe a] -> [a]
que coleciona os elementos do tipo a de uma lista.
Exemplo
> catMaybes [Just 1, Just 2, Nothing, Just 3, Nothing, Just 4, Just 5, Nothing]
[1,2,3,4,5]
Resolução
catMaybes :: [Maybe a] -> [a]
catMaybes [] = []
catMaybes (Just x:t) = x : catMaybes ms
catMaybes (Nothing:t) = catMaybes ms