Máquina abstrata de Warren
# Máquina abstrata de Warren

Em 1983, David H. D. Warren desenvolveu uma máquina abstrata, para a execução de programas Prolog, formada por uma memória e um conjunto de insruções (War83). Este modelo se tornou conhecido como Máquina abstrata de Warren (WAM, da sigla em inglês) e se tornou o modelo padrão para os compiladores Prolog.

## Propósito

O propósito da compilação do código Prolog para um nível mais baixo da WAM é produzir interpretações subsequentes mais eficientes. Códigos Prolog podem ser traduzidos de forma razoavelmente simples para instruções WAM, que podem ser interpretadas de forma bem mais rápida. Melhorias subsequentes no código e na compilação para código nativo são muitas vezes mais simples de executar numa representação de nível mais baixo.