In 1983, David H. D. Warren presented an abstract architecture, well-suited to run Prolog programs on. According to Warren, the actual Prolog code is supposed to be transformed (or compiled) to an (abstract) meta-code, which then is to be executed on an abstract, virtual machine. Today, most publicly available Prolog compilers use the architecture suggested by Warren or at least a derivate of it.

In the course of the exercises accompanying the lecture "Artificial Intelligence I", taught by H. Stoyan at the FAU in winter term 2001/2002, I have developed a Java implementation of this WAM model, which is able to solve most of the tasks today's commercial Prolog implementations can cope with.

Available resources