Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP
Posting-Version: version B 2.10.1 6/24/83; site utah-cs.UUCP
Path: utzoo!watmath!clyde!burl!ulysses!allegra!mit-eddie!think!harvard!seismo!utah-cs!shebs
From: shebs@utah-cs.UUCP (Stanley Shebs)
Newsgroups: net.lang
Subject: Re: (eq 4 (+ 2 2)) not always nil (I eat my words)
Message-ID: <3509@utah-cs.UUCP>
Date: Wed, 30-Oct-85 17:18:56 EST
Article-I.D.: utah-cs.3509
Posted: Wed Oct 30 17:18:56 1985
Date-Received: Sat, 2-Nov-85 04:58:52 EST
References: <2041@hcrvax.UUCP>
Reply-To: shebs@utah-cs.UUCP (Stanley shebs)
Organization: Univ of Utah CS Dept
Lines: 18

In article <2041@hcrvax.UUCP> petera@hcrvax.UUCP (Smith) writes:

>	Sorry, I should have checked (eq 4 (+ 2 2)) before I said it evaluated
>to nil. It of course depends on if fixnums are stuffed into pointer fields or 
>not. since 'eq' returns 't' if its two arguments are the same pointer it will
>correctly get 't' for (eq 4 4). But, the two 4 values still reside in different
>locations and if I eval the above statement over and over I will have lots of
>4's and lots of 2's as pointers in garbage cons cells.

Not in PSL, as can be ascertained by doing (in compiled code)

	(for (from i 0 1000000) (do (+ 2 2)))

and observing that garbage collection doesn't *ever* seem to happen...

>		Peter Ashwood-Smith

							stan shebs