So Many WAM Variations, So Little Time

The WAM allows within its framework many variations e.g. regarding the term representation, the instruction set and the memory organization. Consequently several Prolog systems have implemented successful variants of the WAM. While these variants are effective within their own context, it is difficult to assess the merit of their particular variation. In this work, four term representations that were used by at least one successful system are compared empirically within dProlog, one basic implementation which keeps all other things equal. We also report on different implementation choices in the dProlog emulator itself. dProlog is reasonably efficient, so it makes sense to use it for these experiments.

[1]  Vítor Santos Costa,et al.  Optimising Bytecode Emulation for Prolog , 1999, PPDP.

[2]  Bart Demoen,et al.  Improving the register allocation in WAM by reordering unification , 1988 .

[3]  Peter J. Stuckey,et al.  Herbrand Constraint Solving in HAL , 1999, ICLP.

[4]  Paul Tarau,et al.  Program Transformations and WAM-Support for the Compilation of Definite Metaprograms , 1990, RCLP.

[5]  Pierre Deransart,et al.  Programming Languages Implementation and Logic Programming , 1989, Lecture Notes in Computer Science.

[6]  Hassan Aït-Kaci,et al.  Warren's Abstract Machine: A Tutorial Reconstruction , 1991 .

[7]  Bart Demoen,et al.  Heap Garbage Collection in XSB: Practice and Experience , 2000, PADL.

[8]  Bart Demoen,et al.  Executing query flocks for ILP , 1999 .

[9]  Mats Carlsson,et al.  Freeze, Indexing, and Other Implementation Issues in the WAM , 1987, ICLP.

[10]  Peter Van Roy,et al.  Can Logic Programming Execute as Fast as Imperative Programming? , 1990 .

[11]  Thomas Lindgren,et al.  On Taylor's Scheme for Unbound Variables , 1995 .

[12]  Mats Carlsson Design and implementation of an or-parallel Prolog engine , 1990, RIT / KTH / TRITA-CS.

[13]  Andrew Taylor,et al.  Parma - Bridging the Performance GAP Between Imperative and Logic Programming , 1996, J. Log. Program..

[14]  Ulrich Neumerkel,et al.  A Novel Term Compression Scheme and Data Representation in the BinWAM , 1994, PLILP.

[15]  Bart Demoen,et al.  On the management of E and B in WAM , 1989 .