Para facilitar a tarefa de implementação de sistemas, as linguagens de programação devem ter uma maior expressividade. no entanto, o aumento do poder de expressão das linguagens frequentemente diminui a eficiência dos programas desenvolvidos a partir delas. A linguagem Prolog tem um poder de expressão considerável. Além disso, essa expressividade pode ser facilmente aumentada. Porém, esse aumento de expressividade diminui consideravelmente a eficiência de execução. Neste trabalho, são abordados dois métodos para aumentar a eficiência de programas Prolog sem diminuir a expressividade da linguagem. A facilidade de meta-programação é uma característica muito poderosa da linguagem Prolog. No entanto, introduz um nível extra de interpretação du...