Subject: Re: [SWIPL] assert() & retract() problems

From: Jan Wielemaker <[email-masked]>
Date: Thu, 5 Apr 2001 10:28:08 +0200

> Hi everyone:
> 
>   When I use SWI-prolog version 3.2.8 to run my program
> 
> person_course(bryce, 2000, spring, cs5393).
> person_course(bryce, 2000, fall, cs6623).
> person_course(bryce, 2001, spring, cs6673).
> 
> Then I type
>   ?- retract( person_course(bryce, 2001, spring, cs6673) ).
> or
>   ?- assert( person_course(bryce, 2001, spring, cs6703) ).
> 
> there is no problem at all.
> However, when I run the same program in SWI-prolog 
> Version 3.4.4 , I tried to use retract() or assert ()
> The computer will show me
> 
>   ERROR: No permition to modify the static_percedure
>   'person_course/4'
> 
> I don't know this is a bug in Version 3.4.4 or not.
> And would anybody can tell me how can I fix my problems?

See the FAQ, which will guide you to use :- dynamic person_course/4.
You can also scan the archive of this list.

It is an incompatibility resulting from enforcement of the ISO standard.

	--- Jan