Re: Meta-interpreter

From: Warwick Harvey <>
Date: Thu 03 Apr 2003 01:08:18 PM GMT
Message-ID: <>

On Thu, Apr 03, 2003 at 11:17:30AM +0200, Jordan C N Chong wrote:
> This is the first time I am using Eclipse. I am trying the meta-interpreter:
> solve1(true).
> solve1((A,B))  :-
>         solve1(A),solve1(B).
> solve1(A)    :-
>         clause(A,B),solve1(B).


> When I run: solve1(repair/X).
> The following error happens:
> procedure not dynamic clause(repair / X, B) in module eclipse

I suggest you read the documentation for the predicate clause/2 (and
clause/1) in the Reference Manual.  There is also a small section in the
User Manual (Porting Applications to ECLiPSe / Using the compatibility
language dialect / Compiler versus Interpreter --- a bit of an obscure
location, but I found it by looking up clause/1,2 in the index) that
discusses why clause/1,2 need predicates to be declared as dynamic in order
for their source code to be accessible.

See also the documentation for dynamic/1.

Received on Thu Apr 03 14:08:48 2003

This archive was generated by hypermail 2.1.8 : Wed 16 Nov 2005 06:07:22 PM GMT GMT