Subject: Re: bug#16362: compiler disrespects referential integrity

From: Mark H Weaver <[email-masked]>
Date: Wed, 15 Jan 2014 14:57:05 -0500

tags 16362 notabug
thanks

Zefram <[email-masked]> 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 this is allowed,
but in Scheme all literals are immutable.

> The interpreter, and for comparison guile-1.8, do preserve object
> identity, allowing read-eval to be used to incorporate direct object
> references into code.

It worked by accident in Guile 1.8, but there's simply no way to support
this robustly in an ahead-of-time compiler, which must serialize all
literals to an object file.

    Thanks,
      Mark