From paul.singleton@bcs.org.uk Fri Feb  8 18:06:44 2002
Received: from finch-post-12.mail.demon.net (finch-post-12.mail.demon.net [194.217.242.41])
	by swi.psy.uva.nl (8.11.6/8.11.2) with ESMTP id g18H6ip26384
	for <prolog@swi.psy.uva.nl>; Fri, 8 Feb 2002 18:06:44 +0100 (MET)
Received: from startpoint-corp.demon.co.uk ([194.222.165.173] helo=bcs.org.uk)
	by finch-post-12.mail.demon.net with esmtp (Exim 3.34 #1)
	id 16ZETz-0002V8-0C
	for prolog@swi.psy.uva.nl; Fri, 08 Feb 2002 17:06:43 +0000
Message-ID: <3C64055F.6010607@bcs.org.uk>
Date: Fri, 08 Feb 2002 17:05:35 +0000
From: Paul Singleton <paul.singleton@bcs.org.uk>
User-Agent: Mozilla/5.0 (Windows; U; WinNT4.0; en-GB; rv:0.9.4) Gecko/20011019 Netscape6/6.2
X-Accept-Language: en-gb
MIME-Version: 1.0
To: SWI Prolog <prolog@swi.psy.uva.nl>
Subject: Re: More SWI questions
References: <200202042056.g14KuV209900@gollem.swi.psy.uva.nl>
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit

Jan Wielemaker wrote (in reply to Christophe Costa Florencio 
costa@let.uu.nl):


>>Re unifying w/o occurs check: I'm just curious, how is the
>>resulting term represented internally? How is printing of infinite objects
>>implemented? It seems to me there must be a check for cyclicity somewhere

> It isn't.  There is a depth-limit to printed terms (see the
> option-list in write_term/[2,3]).  The toplevel uses this limit.


Jan recently added support in the FLI (PL_same_functor) for detecting 
cycles,
and this permits programming of safe output of cyclic terms (and also of
compact output of terms with common subterms).

Paul Singleton

