From jan@swi.psy.uva.nl Thu Apr  5 10:28:09 2001
Received: from gollem.swi.psy.uva.nl (root@gollem [145.18.152.30])
	by swi.psy.uva.nl (8.11.2/8.11.2) with ESMTP id f358S8302710;
	Thu, 5 Apr 2001 10:28:08 +0200 (MET DST)
Received: (from jan@localhost)
	by gollem.swi.psy.uva.nl (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) id f358S8Y25948;
	Thu, 5 Apr 2001 10:28:08 +0200
Date: Thu, 5 Apr 2001 10:28:08 +0200
Message-Id: <200104050828.f358S8Y25948@gollem.swi.psy.uva.nl>
From: Jan Wielemaker <jan@swi.psy.uva.nl>
Subject: Re: [SWIPL] assert() & retract() problems
To: Ryo Saeba <saibaryo@excite.com>, prolog@swi.psy.uva.nl
In-Reply-To: Ryo Saeba's message of Wed, 4 Apr 2001 11:50:45 -0700 (PDT)
Phone: +31 - 20 - 525 6121

> 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

