From jan@swi.psy.uva.nl  Sun May  7 12:23:53 2000
Received: from gollem.swi.psy.uva.nl (root@gollem [145.18.152.30])
	by swi.psy.uva.nl (8.9.3/8.9.3) with ESMTP id MAA11254;
	Sun, 7 May 2000 12:23:53 +0200 (MET DST)
Received: (from jan@localhost)
	by gollem.swi.psy.uva.nl (8.9.3/8.9.3/SuSE Linux 8.9.3-0.1) id MAA07272;
	Sun, 7 May 2000 12:24:02 +0200
Date: Sun, 7 May 2000 12:24:02 +0200
Message-Id: <200005071024.MAA07272@gollem.swi.psy.uva.nl>
From: Jan Wielemaker <jan@swi.psy.uva.nl>
Subject: Re: assert and retract
To: Karen Cheale <karen.cheale@virgin.net>, prolog@swi.psy.uva.nl
In-Reply-To: Karen Cheale's message of Sat, 06 May 2000 12:20:36 +0100
Phone: +31 - 20 - 525 6121

> I have just upgraded to version 3.3.4 and when I try to assert or
> retract clauses I get "No permission to edit static procedure ..." error
> messages.  Have I missed something somewhere?

As of 3.3.x, SWI-Prolog is a bit more strict in the distinction between
static and dynamic procedures.  In particular, you can't do:

a(1).
a(2).

run :-
	assert(a(3)).

without using

	:- dynamic a/1.

You can assert a non-existent predicate, creating a new dynamic one.

If your problem does not fall in any of the above, please include a
small demo.

	Regards --- Jan

