Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!wuarchive!udel!rochester!kodak!uupsi!sunic!ugle.unit.no!hanche From: hanche@imf.unit.no (Harald Hanche-Olsen) Newsgroups: comp.lang.scheme Subject: Re: eqness of procedures Message-ID: Date: 11 May 91 14:40:38 GMT References: <9105080039.aa09228@mc.lcs.mit.edu> <1991May8.063427.25012@Think.COM> Sender: news@ugle.unit.no Organization: The Norwegian Institute of Technology, Trondheim, Norway. Lines: 20 In-Reply-To: alan@lcs.mit.edu's message of 10 May 91 21:27:58 GMT In article alan@lcs.mit.edu (Alan Bawden) writes: Well, but certainly (eq? (cons 1 2) (cons 1 2)) is required to be false. I can imagine a programmer thinking it would be convenient if every evaluation of a LAMBDA-expression resulted in a unique (in the sense of EQ?) closure. If I have understood it right, that form is required to be false because of the existence of procedures like set-car! and set-cdr! which could change equal-looking objects to look different. You cannot change a closure in an analogous way. So what is so convenient about (lambda (x) x) not being eq? to (lambda (x) x) ? - Harald Hanche-Olsen Division of Mathematical Sciences The Norwegian Institute of Technology N-7034 Trondheim, NORWAY