tags 16362 + notabug wontfix
close 16362
thanks
I'm sorry that you came to depend on the undocumented behavior of
earlier versions of Guile, but the Scheme standards are quite clear that
literals are immutable and that no guarantees are made about preserving
object identity as seen by eq? or eqv?.
Mark H Weaver wrote:
>In Scheme terminology, an expression of the form (quote ) is a
>literal.
Ah, sorry, I see your usage now. R6RS speaks of that kind of expression
being a "literal expression". (Elsewhere it uses "literal" in the sense
I was using it, referring to the readable representation
Zefram writes:
> Mark H Weaver wrote:
>>I'm sorry that you've written code that assumes that this is allowed,
>>but in Scheme all literals are immutable.
>
> It's not a literal: the object was not constructed by the action of
> the reader. It was constructed by non-literal means, and merely *pas
Mark H Weaver wrote:
>I'm sorry that you've written code that assumes that this is allowed,
>but in Scheme all literals are immutable.
It's not a literal: the object was not constructed by the action of
the reader. It was constructed by non-literal means, and merely *passed
through* the reader.
tags 16362 notabug
thanks
Zefram writes:
> The guile-2.0.9 compiler doesn't preserve the distinctness of mutable
> objects that are referenced in code via the read-eval (#.) facility.
> (I'm not mutating the code itself, only quoted objects.)
I'm sorry that you've written code that assumes that
The guile-2.0.9 compiler doesn't preserve the distinctness of mutable
objects that are referenced in code via the read-eval (#.) facility.
(I'm not mutating the code itself, only quoted objects.) The interpreter,
and for comparison guile-1.8, do preserve object identity, allowing
read-eval to be u