From Joachim.Katzer@icn.siemens.de  Fri Sep 15 09:11:27 2000
Received: from beamer.mchh.siemens.de (beamer.mchh.siemens.de [194.138.158.163])
	by swi.psy.uva.nl (8.9.3/8.9.3) with ESMTP id JAA20020
	for <prolog@swi.psy.uva.nl>; Fri, 15 Sep 2000 09:11:27 +0200 (MET DST)
Received: from moody.mchh.siemens.de (mail2.mchh.siemens.de [194.138.158.226])
	by beamer.mchh.siemens.de (8.9.3/8.9.3) with ESMTP id JAA22842
	for <prolog@swi.psy.uva.nl>; Fri, 15 Sep 2000 09:11:17 +0200 (MET DST)
Received: from mchh246e.demchh201e.icn.siemens.de ([139.21.200.56])
	by moody.mchh.siemens.de (8.9.1/8.9.1) with ESMTP id JAA27872
	for <prolog@swi.psy.uva.nl>; Fri, 15 Sep 2000 09:11:07 +0200 (MET DST)
Received: by MCHH246E with Internet Mail Service (5.5.2650.21)
	id <S5RJC1MS>; Fri, 15 Sep 2000 09:11:43 +0200
Message-ID: <7B4C96A066E0D21192180060976EBFA1D905BA@MCHH236E>
From: Katzer Joachim <Joachim.Katzer@icn.siemens.de>
To: "'prolog@swi.psy.uva.nl'" <prolog@swi.psy.uva.nl>
Subject: RE: Circular references
Date: Fri, 15 Sep 2000 09:11:41 +0200
X-Mailer: Internet Mail Service (5.5.2650.21)



> -----Ursprungliche Nachricht-----
> Von:	Douglas Miles (Volt Computer) [SMTP:a-doug@microsoft.com]
> Gesendet am:	Freitag, 15. September 2000 03:41
> An:	'Gordon Streeter'; prolog@swi.psy.uva.nl
> Betreff:	RE: Circular references
> 
> Gordon, 
> 
>     A = a(A), assert(A).
> 
> generally assert and friends are limited to what you can write/1 
> 
[Katzer Joachim]   
This is not true for all Prolog systems. IF/Prolog *can* write cyclic terms, e.g.:

[user] ?- A = a(A), write(A).
_165 :: a(_165)
A       = _165 :: a(_165) 

yes

[user] ?- assertz((a(A) :- A = a(A) )).

A       = _164 

yes

[user] ?- a(A).

A       = _209 :: a(_209) 

yes

But 

?- A = a(A), assertz(A).

woud crash too.



