Subject: Static and Dynamic Prolog clauses

From: Darryl Davis <[email-masked]>
Date: Mon, 15 May 2000 20:26:34 +0100

Hi

 I have a slight problem with SWI-v3.3.6 and the use of 'assert'.
 In some code from another academic institution (which runs under
	Quintus) there are static definitions for a relation
	and dynamic additions through the use of assert at run-time.
 v3.3.6 complains about this.

 E.g.
    ?- listing(next_episode).

    next_episode(A, B) :-
        clause(next_episode(A, B), !), !.
    next_episode(A, B) :-
        following(A, B).

    Yes
    ?- assert(next_episode(t5,t4)).
    ERROR: No permission to modify static_procedure `next_episode/2'

Any suggestions as to work-around this. It seems like a reasonable 
thing to do in prolog

Thanks
Darryl Davis
Neural Emergent and Agent Technologies Research Group,
Dept of Computer Science,       Tel: +44 (0) 1482 466469
University of Hull,             Fax: +44 (0) 1482 466666
Kingston upon Hull              http://www2.dcs.hull.ac.uk/cic/index.html
HU6 7RX, England.               email: [email-masked]