[plt-scheme] Native code generation and immutable pairs (set-xxx! evolution)

From: Paul Schlie (schlie at comcast.net)
Date: Fri Mar 10 22:29:57 EST 2006

Lauri Alanko writes:
> ...
> R8RS: guarantee that pairs will not be modified and set-x! will always
> return a newly allocated object. This is now a backwards-compatible
> change since R7RS allows such behavior.

Unfortunately (or fortunately as the case may be) given the purpose of
set-xxx! is to specifically enable shared list data structures to be
mutated, including the construction recursive references within itself
as is critically attractive for classes of interesting applications for
which scheme/lisp type languages are uniquely attractive; this may not
be a good thing, not to mention it wouldn't be very efficient; but do
like the idea of returning a reference to the resulting mutated structure.

Posted on the users mailing list.