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).[1][2][3] 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.
Referências