Spis treści

Meta interpreter 7

Description

A meta-interpreter for pure Prolog in continuation style

Source: The Art of Prolog

Download

Program source code: meta_interpreter_7.pl

Listing

/*
  solve(Goal) :-
     Goal is true given the pure Prolog program defined by clause/2.
*/
 
  solve(Goal) :- solve(Goal,[]).
 
     solve([],[]).
     solve([],[G|Goals]) :- solve(G,Goals).
     solve([A|B],Goals) :- append(B,Goals,Goals1),solve(A,Goals1).
     solve(A,Goals) :- rule(A,B), solve(B,Goals).
 
%  Program 17.6  A meta-interpreter for pure Prolog in continuation style

Comments