[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: asserta and assertz do different things???
From: |
Daniel Diaz |
Subject: |
Re: asserta and assertz do different things??? |
Date: |
Fri, 26 Oct 2001 10:23:39 +0200 |
Hi, it is difficult to help you with so little information !
Could you send us more details ? In particular an source example showing the
problem should be very
useful.
Thorsten Krebs wrote:
>
> Hi,
>
> I am new to PROLOG and want to use the GNU Prolog / C interface to
> manage constraint solving from a C program. But since I don't know
> Prolog well I have problems with it's semantics...
>
> I try get a little test program running which is a databse of ancestors.
> Entries a of the form "parent(bob, mary)." and the functions for queries
> are "anc(X,Y):-parent(X,Y)." and "anc(X,Y):-parent(X,Y),anc(Y,Z)."
>
> Now I use the assert directive to insert knowledge. No problem so far.
> But when I try to delete knowledge with retract... like
> "retract(parent(bob, mary))" I get different outputs from program wether
> I used the asserta oder the assertz directive... (?)
> Using assertz the only entry left in my database is the one I wanted to
> be deleted and using asserta my program crashes...
>
> What is the difference betrween these two assert's and does retract
> really delete knowledge or something else...
>
> I am really starting to feel weird about this...
>
> Thanks if anyone has a hint for me!
>
--
Daniel Diaz address@hidden
http://pauillac.inria.fr/~diaz
gprolog --version 2>&1 | sed -n -e 's/By //p'