Newsgroups: comp.lang.scheme
Path: cantaloupe.srv.cs.cmu.edu!bb3.andrew.cmu.edu!newsfeed.pitt.edu!godot.cc.duq.edu!newsgate.duke.edu!news.mathworks.com!newsfeed.internetmci.com!in2.uu.net!news-m01.ny.us.ibm.net!news.biu.ac.il!discus.technion.ac.il!news!qobi
From: qobi@eesun.technion.ac.il (Jeffrey Mark Siskind)
Subject: constants and eq?
Reply-To: Qobi@EE.Technion.AC.IL
Organization: Technion, Israel Institute of Technology
Date: Sun, 9 Jun 1996 12:44:15 GMT
Message-ID: <QOBI.96Jun9154415@eesun.technion.ac.il>
X-Nntp-Posting-Host: eesun.technion.ac.il
Sender: news@discus.technion.ac.il (News system)
Lines: 16

I am trying to read R4RS with a lawyer's eye. Can someone tell me whether
the following must return #t or whether it is allowed to return #f:

(define (c) '(a))
(eq? (c) (c))

In other words, can each invocation of a literal expression return a different
object? If so, it would license source to source transformation rules like the
following:

(quote (c)) ==> (<list> (quote c)) where <list> is bound to the LIST procedure.

which could be used to eliminate all nonscalar literal expressions.
-- 

    Jeff (home page http://tochna.technion.ac.il/~qobi)
