A WAM Implementation for the Logic Meta Programming Language 'Log

A technique for compiling the meta-programming logic programming language 'Log (read quote log) is presented and the extensions to the standard Warren Abstract Machine (WAM) architecture necessary to support the execution of 'Log programs are described. 'Log is a logic programming language upgraded with a flexible naming scheme and a set of operators allowing each syn tactic entity to be referred to and manipulated at the desired detail level. This language still possesses the declarative semantics of pure Prolog. Upgrading the WAM architecture to support 'Log has required to cope with some novel implementation challenges. First, an efficient internal representation for both meta-representations of 'Log must be provided. Second the execution of a 'Log program generates constraints that must be handled dynamically by the run-time architecture of the WAM. A 'Log compiler has been implemented along with a WAM based run-time sup port architecture.