Esta é uma função de memorização simples, mas internamente ela é feia. Ela foi escrita em Haskell. 