# Listas Recursivas

Esta lição contém um monte de exercícios clássicos com listas recursivas. Com certeza não é a lição mais agradável para fazer, mas das lições do PLM que lidam com recursão, acho esta a mais fácil.

Como sempre, existem várias coisas que podem ser feitas no código deste universo para melhorá-lo:

- Novos exercícios podem ser propostos, como http://webloria.loria.fr/~quinson/Teaching/TOP/02-td-recursivite-enonce.pdf. Se conhecer outros, por favor abra uma "issue" para relatar.
- Pode ser interessante verificar a complexidade assintótica do código do estudante, mas isto não parece fácil de fazer. Em Python e Java (onde fornecemos uma classe RecList feita à mão), podemos contar a quantidade de cons por exercício, mas não é fácil relacionar isto ao BatTest correto. Para Scala, parece ainda mais difícil, pois usamos os operadores :: clássicos da linguagem. Vai ser difícil fazer uma sobreposição ("override") para adicionar um mecanismo de contagem. Outra solução seria garantir que a pilha de chamadas não passe de um dado limiar, mas parece muito difícil de fazer também. Quaisquer ideias são bem-vindas.