On Fri 10 Dec 2010 12:22, self <lis...@163.com> writes:

> scheme@(guile-user)> (eq? 'abc 'abc)
> $1 = #t
> scheme@(guile-user)> (eq? '(+ x 1) '(+ x 1))
> $2 = #f
>
> why $1 is true and $2 is false?
> when I looked for 'quoting' in the r6rs
>  I found it:
> Different constants that are the value of a quote expression may share the 
> same locations

*May* is the crucial word here.  May, but not *must*.  Implementations
are free to allocate identical quoted lists in the same place, or in
different places.  If they are in different places, they are not eq?.

Andy
-- 
http://wingolog.org/

Reply via email to