We take a fresh, "clean-room" look at implementing Prolog by deriving its translation to an executable representation and its execution algorithm from a simple Horn Clause meta-interpreter. The resulting design has some interesting properties. The heap representation of terms and the abstract machine instruction encodings are the same. No dedicated code area is used as the code is placed directly on the heap. Unification and indexing operations are orthogonal. Filtering of matching clauses happens without building new structures on the heap. Variables in function and predicate symbol positions are handled with no performance penalty. A simple English-like syntax is used as an intermediate representation for clauses and goals and the sa...
Over the past few years much interest has been shown in the computer language Prolog, a fifth genera...
AbstractThe paper provides a mathematical yet simple model for the full programming language Prolog,...
In order to achieve competitive performance, abstract machines for Prolog and related languages end ...
We present the implementation of a Prolog system composed of interpreter and compiler. The originali...
Adhering to the principles of logic programming results in greater expressiveness than is obtained b...
The paper focuses on three ideas for solving problems with writing interpreters for the logic progra...
This paper is a short survey about currently used implementation techniques for Prolog. It gives an ...
AbstractWe extend Horn Clause Prolog with two new primitives, new_engine (+Goal, +Answer, -Engine) a...
The implementation of Prolog systems has a long history, from the first interpreter written in 1972 ...
In order to achieve competitive performance, abstract machines for Prolog and related languages end...
In order to achieve competitive performance, abstract machines for Prolog and related languages end ...
In order to achieve competitive performance, abstract machines for Prolog and related languages end ...
Both logic programming in general and Prolog in particular have a long and fascinating history, inte...
Abstract Both logic programming in general and Prolog in particular have a long and fascinating hist...
This paper shows how one such application led to the development of a Prolog programming environment...
Over the past few years much interest has been shown in the computer language Prolog, a fifth genera...
AbstractThe paper provides a mathematical yet simple model for the full programming language Prolog,...
In order to achieve competitive performance, abstract machines for Prolog and related languages end ...
We present the implementation of a Prolog system composed of interpreter and compiler. The originali...
Adhering to the principles of logic programming results in greater expressiveness than is obtained b...
The paper focuses on three ideas for solving problems with writing interpreters for the logic progra...
This paper is a short survey about currently used implementation techniques for Prolog. It gives an ...
AbstractWe extend Horn Clause Prolog with two new primitives, new_engine (+Goal, +Answer, -Engine) a...
The implementation of Prolog systems has a long history, from the first interpreter written in 1972 ...
In order to achieve competitive performance, abstract machines for Prolog and related languages end...
In order to achieve competitive performance, abstract machines for Prolog and related languages end ...
In order to achieve competitive performance, abstract machines for Prolog and related languages end ...
Both logic programming in general and Prolog in particular have a long and fascinating history, inte...
Abstract Both logic programming in general and Prolog in particular have a long and fascinating hist...
This paper shows how one such application led to the development of a Prolog programming environment...
Over the past few years much interest has been shown in the computer language Prolog, a fifth genera...
AbstractThe paper provides a mathematical yet simple model for the full programming language Prolog,...
In order to achieve competitive performance, abstract machines for Prolog and related languages end ...