2.1 The Qu-Prolog Ancestor

QuLog/TeleoR is the result of many years experience using, and step-by-step extending, the Qu-Prolog language

(http://staff.itee.uq.edu.au/pjr/HomePages/QuPrologHome.html)

as an agent programming language.

Qu-Prolog was initially developed in the late 1980s as a Prolog variant with sound meta-level reasoning features for implementing interactive theorem provers for program verification. (Its unification algorithm has the occurs check required for sound resolution inference.)

By a series of incremental changes starting in the early 1990s we have significantly enhanced the Qu-Prolog system and developed its QuLog/TeleoR extension. QuLog/TeleoR programs are first compiled into Qu-Prolog code, which is then further compiled into an abstract instruction set based on Warren’s WAM code. The extended WAM code is then interpretively executed by a C++ run-time system.

Eventually QuLog/TeleoR programs may be compiled directly into its own WAM style code using optimisations that make use of information that can be inferred from type and mode declarations of the QuLog/TeleoR source. It may also be optionally compiled directly into C or C++. However, the current system sitting on top of Qu-Prolog achieves execution speeds exceeding one million logical inferences per second which is more than enough for a reasoning reactive agent controlling relatively slow physical robotic devices.

On This Site