[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Guile: What's wrong with this?

From: David Kastrup
Subject: Re: Guile: What's wrong with this?
Date: Wed, 04 Jan 2012 18:44:01 +0100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.0.92 (gnu/linux)

Bruce Korb <address@hidden> writes:

> On 01/04/12 08:47, Andy Wingo wrote:
>> I was going to propose a workaround with an option to change
>> vm-i-loader.c:43 and vm-i-loader.c:115 to use a
>> scm_i_mutable_string_literals_p instead of 1, but that really seems like
>> the path to perdition: previously compiled modules would start creating
>> mutable strings where they really shouldn't.
> Instead, long-standing, previously written code was invalidated with
> 1.9, even if we were not smacked down until 2.0.1.

Yes, that is an inherent problem of writing code with undefined
behavior.  The only way to keep it working in the exact same manner is
to use the exact same interpreter.  And in the age of allocation
randomization and multi-threading, not even that is reliable.

> Just because an obscure-to-those-not-living-and-breathing-Scheme-daily
> document said it was okay doesn't make it okay to those whacked by it.

There was _never_ _any_ document that stated writing to literals was ok.
You did so entirely on your own initiative and just were lucky that it
happened to work under certain circumstances for a while.  If people
like to whack themselves, there is little one can do to keep them from
doing so.  They'll always find a way.

David Kastrup

reply via email to

[Prev in Thread] Current Thread [Next in Thread]