Comparision of abstract machines for execution of Prolog

513 Views Asked by At

I'm looking for research paper or any other publication that compare different abstract machines (more than one) for execution of Prolog with prolog interpreters not based on abstact machines. What I've seen so far is that majority of implementations seems to base their prolog interpreters on Warren Abstract Machine although other abstract machines were proposed (eg. Vienna Abstract Machine, Tree-Oriented Abstract Machine) and there is no any general comparision. I'm interested in comparision of efficiency (not features), although all compared interpreters should allow for constraint-logic programming.

1

There are 1 best solutions below

0
On

You can build constraint logic programming on top of ordinary prolog if you introduce some primitives for a trailed constraint store and some primitives for unification hooks. E.g.:

SICStus Prolog: Attributed Variables
http://sicstus.sics.se/sicstus/docs/3.7.1/html/sicstus_17.html

Jekejeke Minlog: Little Solver
http://www.jekejeke.ch/idatab/doclet/prod/en/docs/15_min/10_docu/02_reference/04_examples/05_solver.html
http://www.jekejeke.ch/idatab/doclet/prod/en/docs/15_min/15_stdy/06_bench/10_examples/02_addensure/01_referensure.p.html

Of course you can view the additional primitives as new instructions in the abstract machine. But in both cases above the primitives are added on the predicate level, so that it begs the question whether there is really a need for an abstract machine for constraint logic programming.

Of course you will find a couple of suggestions of constraint logic programming abstract machines as well through google.

Bye