[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#16362: compiler disrespects referential integrity
From: |
Mark H Weaver |
Subject: |
bug#16362: compiler disrespects referential integrity |
Date: |
Wed, 15 Jan 2014 14:57:05 -0500 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/24.3 (gnu/linux) |
tags 16362 notabug
thanks
Zefram <address@hidden> 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