bug#16362: compiler disrespects referential integrity

2014-10-01 Thread Mark H Weaver
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?.

bug#16362: compiler disrespects referential integrity

2014-01-15 Thread Zefram
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

bug#16362: compiler disrespects referential integrity

2014-01-15 Thread Mark H Weaver
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

bug#16362: compiler disrespects referential integrity

2014-01-15 Thread Zefram
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.

bug#16362: compiler disrespects referential integrity

2014-01-15 Thread Mark H Weaver
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

bug#16362: compiler disrespects referential integrity

2014-01-05 Thread Zefram
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