[plt-scheme] scribblings on PLT Scheme 4.0
On Thu, 24 May 2007, Matthew Flatt wrote:
> At Thu, 24 May 2007 09:13:52 +0530, "Sridhar Ratna" wrote:
> > On 5/24/07, Matthew Flatt <mflatt at cs.utah.edu> wrote:
> > >
> > > At the language level, we are considering a few changes for version
> > > 4.0. The most significant are:
> > >
> > > * Pairs will become immutable by default. This is the big change that
> > > will break backward compatibility. We can provide a compatibility
> > > `mzscheme' library, but we can't do that for all the libraries whose
> > > public interface mentions lists.
> >
> > Does this mean that standard procedures like `set-car!' and `set-cdr!'
> > will be deprecated?
>
> We'd still have mutable pairs, `set-car!', `set-cdr!', and a
> `mutable-cons' procedure that is bound to `cons' in various
> compatibility libraries.
>
> But `cons' in the main language that we use would create immutable
> pairs, and `set-car!' would fail when applied to an immutable pair.
Is there a good reason for this change (like bytecode optimizations eg)?
It is pretty fundamental...
-- vyzo