From a-doug@microsoft.com  Sat Jul 22 01:07:55 2000
Received: from mail2.microsoft.com (mail2.microsoft.com [131.107.3.124])
	by swi.psy.uva.nl (8.9.3/8.9.3) with SMTP id BAA14847
	for <prolog@swi.psy.uva.nl>; Sat, 22 Jul 2000 01:07:54 +0200 (MET DST)
Received: from 157.54.9.104 by mail2.microsoft.com (InterScan E-Mail VirusWall NT); Fri, 21 Jul 2000 16:06:21 -0700 (Pacific Daylight Time)
Received: by INET-IMC-02 with Internet Mail Service (5.5.2651.58)
	id <P2612A3V>; Fri, 21 Jul 2000 16:06:21 -0700
Message-ID: <E713F2760348D211A9B600805F6FA1AB05676C4A@RED-MSG-09.itg-messaging.redmond.corp.microsoft.com>
From: "Douglas Miles (Volt Computer)" <a-doug@microsoft.com>
To: "'Jason Che-han Yip'" <yip@ee.ualberta.ca>, prolog@swi.psy.uva.nl
Subject: RE: Modifying consulted rules
Date: Fri, 21 Jul 2000 16:06:31 -0700
MIME-Version: 1.0
X-Mailer: Internet Mail Service (5.5.2651.58)
Content-Type: multipart/alternative;
	boundary="----_=_NextPart_001_01BFF368.4EAE7E30"

This message is in MIME format. Since your mail reader does not understand
this format, some or all of this message may not be legible.

------_=_NextPart_001_01BFF368.4EAE7E30
Content-Type: text/plain;
	charset="ISO-8859-1"

"no permission to modify static procedures"
is ussuly due to a syntactical misplacement of a comma or semicollon in code
one missing period or one comma can make the prolog engine think you are
trying to add your own  version of  ','(_,_).
 
even when you have predicates that match those in the libray modules ..
prolog will ussualy not comp[lain
since there is alot of scopeing available.
 
also if you want ot keep track of your objects in Java you can ..but in
prolog its very easy to as well .. you can modify any clauses in the proloog
database that you ever assert into it..and even delete them, and also
predicates declared :-dynamic/1 inline to your source will keep those as if
you had asserted them in later.. also if you are bringing in clauses from
multiple sources you can alows declaire as :-multifile/1
 
see this page as well
http://www.swi.psy.uva.nl/projects/SWI-Prolog/Manual/sec-3.13.html
<http://www.swi.psy.uva.nl/projects/SWI-Prolog/Manual/sec-3.13.html> 
 

-----Original Message-----
From: Jason Che-han Yip [mailto:yip@ee.ualberta.ca]
Sent: Friday, July 21, 2000 3:13 PM
To: prolog@swi.psy.uva.nl
Subject: Modifying consulted rules


I'd like to thank the people who replied to my last question about reseting
the database.  I ended up having the Java class keep track of what was being
asserted so that it could retract everything when a reset() method is
called.
 
In any case, on to the next problem...  after consulting a file, is it
possible to retract or otherwise modify the rules that were consulted?  I
keep getting an error that says I have no permission to modify static
procedures.  
 
----
"Making the complex clear always helps people work smarter. Because it is a
lot easier to figure out what's important and ignore what isn't."
(Bill Jensen)
www.ee.ualberta.ca/~yip <http://www.ee.ualberta.ca/~yip> 


------_=_NextPart_001_01BFF368.4EAE7E30
Content-Type: text/html;
	charset="ISO-8859-1"
Content-Transfer-Encoding: quoted-printable

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META HTTP-EQUIV=3D"Content-Type" CONTENT=3D"text/html; =
charset=3DISO-8859-1">


<META content=3D"MSHTML 5.50.4134.600" name=3DGENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY bgColor=3D#ffffff>
<DIV><FONT face=3DArial color=3D#0000ff size=3D2><SPAN =
class=3D471135322-21072000>"<FONT=20
color=3D#000000>no permission to modify static=20
procedures"</FONT></SPAN></FONT></DIV>
<DIV><FONT face=3DArial size=3D2><SPAN class=3D471135322-21072000>is =
ussuly due to a=20
syntactical misplacement of a&nbsp;comma or semicollon in=20
code</SPAN></FONT></DIV>
<DIV><FONT face=3DArial size=3D2><SPAN class=3D471135322-21072000>one =
missing period=20
or one comma can make the prolog engine think you are trying to add=20
your&nbsp;own&nbsp; version of&nbsp; ','(_,_).</SPAN></FONT></DIV>
<DIV><FONT face=3DArial size=3D2><SPAN=20
class=3D471135322-21072000></SPAN></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2><SPAN class=3D471135322-21072000>even =
when you have=20
predicates that match those in the libray modules .. prolog will =
ussualy not=20
comp[lain</SPAN></FONT></DIV>
<DIV><FONT face=3DArial size=3D2><SPAN class=3D471135322-21072000>since =
there is alot=20
of scopeing available.</SPAN></FONT></DIV>
<DIV><FONT face=3DArial size=3D2><SPAN=20
class=3D471135322-21072000></SPAN></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2><SPAN class=3D471135322-21072000>also =
if you want ot=20
keep track of your objects in Java you can ..but in prolog its very =
easy to as=20
well .. you can modify any clauses in&nbsp;the proloog database that =
you ever=20
assert into it..and even delete them, and also predicates declared =
:-dynamic/1=20
inline to your source will keep those as if you had asserted them in =
later..=20
also if you are bringing in clauses from multiple sources you can alows =
declaire=20
as :-multifile/1</SPAN></FONT></DIV>
<DIV><FONT face=3DArial size=3D2><SPAN=20
class=3D471135322-21072000></SPAN></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2><SPAN class=3D471135322-21072000><FONT =

color=3D#0000ff>see this page as well </FONT><A=20
href=3D"http://www.swi.psy.uva.nl/projects/SWI-Prolog/Manual/sec-3.13.ht=
ml">http://www.swi.psy.uva.nl/projects/SWI-Prolog/Manual/sec-3.13.html</=
A></SPAN></FONT></DIV>
<DIV><FONT face=3DArial size=3D2><SPAN=20
class=3D471135322-21072000></SPAN></FONT>&nbsp;</DIV>
<BLOCKQUOTE dir=3Dltr style=3D"MARGIN-RIGHT: 0px">
  <DIV class=3DOutlookMessageHeader dir=3Dltr align=3Dleft><FONT =
face=3DTahoma=20
  size=3D2>-----Original Message-----<BR><B>From:</B> Jason Che-han Yip =

  [mailto:yip@ee.ualberta.ca]<BR><B>Sent:</B> Friday, July 21, 2000 =
3:13=20
  PM<BR><B>To:</B> prolog@swi.psy.uva.nl<BR><B>Subject:</B> Modifying =
consulted=20
  rules<BR><BR></FONT></DIV>
  <DIV><FONT face=3DArial size=3D2>I'd like to thank the people who =
replied to my=20
  last question about reseting the database.&nbsp; I ended up having =
the Java=20
  class keep track of what was being asserted so that it could retract=20
  everything when a reset() method is called.</FONT></DIV>
  <DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
  <DIV><FONT face=3DArial size=3D2>In any case, on to the next =
problem...&nbsp;=20
  after consulting a file, is it possible to&nbsp;retract or otherwise=20
  modify&nbsp;the rules that were consulted?&nbsp; I keep getting an =
error that=20
  says I have no permission to modify static procedures.&nbsp; =
</FONT></DIV>
  <DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
  <DIV><FONT face=3DArial size=3D2>----<BR>"Making the complex clear =
always helps=20
  people work smarter. Because it is a lot easier to figure out what's =
important=20
  and ignore what isn't."<BR>(Bill Jensen)<BR><A=20
  =
href=3D"http://www.ee.ualberta.ca/~yip">www.ee.ualberta.ca/~yip</A></FON=
T></DIV></BLOCKQUOTE></BODY></HTML>

------_=_NextPart_001_01BFF368.4EAE7E30--

