On 01/03/12 14:24, Ludovic Courtès wrote:
2. it is completely, utterly wrong to mutilate the Guile library into such a contortion that it interprets this: (define y "hello") to be a request to create an immutable string anyway. It very, very plainly says, "make 'y' and fill it with the string "hello". Making it read only is crazy.It stems from the fact that string literals are read-only, per R5RS (info "(r5rs) Storage model"): [[blah, blah, blah]] In Guile this has been the case since commit 190d4b0d93599e5b58e773dc6375054c3a6e3dbf. The reason for this is that Guile’s compiler tries hard to avoid duplicating constants in the output bytecode. Thus, modifying a
You have changed the interface without deprecation or any other multi-year process. Please change it back. Please fix the problem by adding (define-strict y "hello") to have this new semantic. Thank you.
