Questão 22: isPrefixOf
Voltar
Apresente uma definição recursiva da função (pré-definida) isPrefixOf :: Eq a => [a] -> [a] -> Bool
que testa se uma lista é prefixo de outra.
Exemplo
> isPrefixOf [10,20] [10,20,30]
True
> isPrefixOf [10,30] [10,20,30]
False
Resolução
isPrefixOf :: Eq a => [a] -> [a] -> Bool
isPrefixOf [] _ = True
isPrefixOf _ [] = False
isPrefixOf (h:t) (h':t') = h == h' && isPrefixOf t t'