Objectivos

Fornecer aos alunos as noções e técnicas avançadas da teoria e prática do desenho e implementação de linguagens de programação lógicas.

Programa

Programação Lógica e Prolog
Pequena revisão da resolução SLD e da linguagem Prolog.

Warren's Abstract Machine
Arquitectura da máquina WAM (usada na implementação de Prolog): compilação, unificação, pilhas de execução, ambientes, pontos de escolha, backtracking e indexação.

Tabulação em Programação Lógica
Modelo básico de execução, representação e organização da tabela, suspensão/recuperação da computação, compilação de predicados tabelados.

Bibliografia Principal

Warren's Abstract Machine - A Tutorial Reconstruction
Hassan Aït-Kaci, The MIT Press.