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