From p.singleton@keele.ac.uk  Tue Dec 19 00:23:38 2000
Received: from scooby.lineone.net (doggy.lineone.net [194.75.152.224])
	by swi.psy.uva.nl (8.9.3/8.9.3) with ESMTP id AAA00504
	for <prolog@swi.psy.uva.nl>; Tue, 19 Dec 2000 00:23:38 +0100 (MET)
Received: from keele.ac.uk (host62-6-8-115.btinternet.com [62.6.8.115])
	by scooby.lineone.net (8.9.3/8.9.3) with ESMTP id XAA02983
	for <prolog@swi.psy.uva.nl>; Mon, 18 Dec 2000 23:23:22 GMT
Message-ID: <3A3E9C29.29022D5B@keele.ac.uk>
Date: Mon, 18 Dec 2000 23:22:17 +0000
From: Paul Singleton <p.singleton@keele.ac.uk>
Organization: SmartArts Computing Consultancy
X-Mailer: Mozilla 4.74 [en] (WinNT; U)
X-Accept-Language: en
MIME-Version: 1.0
To: SWI Prolog <prolog@swi.psy.uva.nl>
Subject: Re: swi jpl character coding
References: <200012181258.NAA23267@gollem.swi.psy.uva.nl>
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit

Jan Wielemaker wrote:

> You mean write_canonical should write floats at maximum precision?

Without loss of information, so that some complementary 'read' can
reconstruct the identical value (I'm afraid I *do* believe in the
comparability of floats :-)

> With recombinant you mean ?- X = foo(A), Y = bar(X,X). (i.e. a term
> with shared subterms)?

yes

> Basically there is no way to distinguish this
> from bar(foo(A), foo(A)), except if you use set_arg/3 to modify the
> shared subterm.

(you've forgotten about PL_same_functor() already ;-)

> You want this for compactness of the written term?

yes, so that terms which are manageable on the heaps don't explode
unnecessarily when written.

Paul S.

