Estou a começar a aprender Haskell, e como tal comecei a fazer alguns exercícios simples. Mas deparei-me com este que não consigo responder:
Basicamente o objetivo é criar uma função getExpansion, com a assinatura getExpansion :: Eq a => Rules a -> a -> [a], que dado uma lista de regras e um elemento, devolve a respectiva expansão, ou devolve o próprio elemento numa lista se não existir expansão associada.
Sendo que uma regra é um par (elemento, lista de elementos), em que à lista de elementos chamamos expansão.
Por exemplo, com regras = [(1,[2,1]), (2,[0,2,1])]:
ghci> getExpansion regras 1
[2,1]
ghci> getExpansion regras 0
[0]
Nota: a função getExpansion deve ser implementada através de uma função fold.
↧