[plt-scheme] Native code generation and immutable pairs (set-xxx! evolution)
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.