[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

*To*: JAR@MC.LCS.MIT.EDU, gls@THINK-AQUINAS.ARPA*Subject*: EQ?, again*From*: Guy Steele <gls@THINK-AQUINAS.ARPA>*Date*: Mon, 3 Mar 86 10:52 EST*Cc*: RRRS-AUTHORS@MC.LCS.MIT.EDU, gls@THINK-AQUINAS.ARPA*In-Reply-To*: <[MC.LCS.MIT.EDU].834417.860228.JAR>

Date: Fri, 28 Feb 86 18:26:57 EST From: Jonathan A Rees <JAR@MC.LCS.MIT.EDU> Date: Fri, 28 Feb 86 16:40 EST From: Guy Steele <gls at THINK-AQUINAS.ARPA> Date: Wed, 19 Feb 86 21:37:49 EST From: Jonathan A Rees <JAR@MC.LCS.MIT.EDU> I 1. (EQ? (LAMBDA (X) X) (LAMBDA (Y) Y)) ;"Coalescing" I 2. (EQV? (LAMBDA (X) X) (LAMBDA (Y) Y)) I 3. (LET ((X (LAMBDA (Z) Z))) (EQ? X X)) ;"Splitting" T 4. (LET ((X (LAMBDA (Z) Z))) (EQV? X X)) I 5. (LET ((X ... any expression evaluating to an exact number ...)) (EQ? X X)) I 6. (EQ? #\X #\X) It took me a while to figure out how to reconcile your answer to 3 with your answer to 4. I take it you want procedures to know their identity, but that you imagine an implementation would still want the liberty to make (identity-preserving) copies, so EQ? might fail to recognize two procedures being the same, even though EQV? could succeed? Sure. Imagine a multiprocessing extension of SCHEME. (Call it, just for laughs, MULTILISP.) It might be crucial to efficiency to allow making copies of code for distribution to various processors. I wonder what Halstead has to say about this.

**Follow-Ups**:**"splitting" in multiprocessors***From:*Robert Halstead <rhh@MIT-VAX.ARPA>

**References**:**EQ?, again***From:*Jonathan A Rees <JAR@MC.LCS.MIT.EDU>

- Prev by Date:
**rec** - Next by Date:
**rec** - Prev by thread:
**EQ?, again** - Next by thread:
**"splitting" in multiprocessors** - Index(es):