Efficient Prolog: A practical guide
Michael A. Covington · 1989
Abstract: Properly used, Prolog is as fast as any language with comparable power. This paper presents guidelines for using Prolog efficiently. Some of these guidelines rely on implementation- dependent features such as indexing and tail recursion optimization; others are matters of pure algorithmic complexity. Many people think Prolog is inefficient. This is partly because of the poor performance of early experimental implementations, but another problem is that some programmers use Prolog inefficiently. Properly used, Prolog performs automated reasoning as fast as any other language with comparable power. It is certainly as fast as Lisp, if not faster. There are still those who rewrite Prolog programs in C "for speed," but this is tantamount to boasting, "I can implement the core of Prolog better than a professional Prolog implementor." This paper will present some practical guidelines for using Prolog efficiently. The points made here are general and go well beyond the implementati...