[plt-scheme] Bindings for list primitives in 4.0.1
PLT Scheme 4.0 did away with mutable pairs in the default libraries.
They are in a separate library now - not just in the sense of r6rs,
where the mutators are in a separate library, but in that the pairs of
the default library can never be mutated, and the mutable-pairs
library therefore has a different kind of pairs. Other languages
(such as EOPL, r5rs, r6rs, and legacy mzscheme) retain their mutable
pairs, and therefore use the primitives from the mutable pairs
library.
Matthew made a long blog post about all of this last November,
hopefully it can shed some light on the design decision:
http://blog.plt-scheme.org/2007/11/getting-rid-of-set-car-and-set-cdr.html
--Carl
On Thu, Jul 3, 2008 at 6:44 PM, Marco Morazan <morazanm at gmail.com> wrote:
> Dear All,
>
> My apologizes for the flurry of inquiries.......
>
> I start-up DrScheme and depending on the language selected the list
> primitives are bound differently (see examples below). Is that the
> intended behavior? I would guess not, but is there a quick fix around
> it?
>
> Thanks,
>
> Marco
>
>
> Welcome to DrScheme, version 4.0.1tsrj2008-1 [3m].
> Language: Pretty Big (includes MrEd and Advanced Student); memory
> limit: 128 megabytes.
>> car
> #<procedure:car>
>> cdr
> #<procedure:cdr>
>> cons
> #<procedure:cons>
>> map
> #<procedure:map>
>>
>
> -------------------------------
>
> Welcome to DrScheme, version 4.0.1tsrj2008-1 [3m].
> Language: R5RS; memory limit: 128 megabytes.
>> car
> #<procedure:mcar>
>> cdr
> #<procedure:mcdr>
>> cons
> #<procedure:mcons>
>> map
> #<procedure:mmap>
>>
>
> -----------------------------------
>
> Welcome to DrScheme, version 4.0.1tsrj2008-1 [3m].
> Language: Essentials of Programming Languages (2nd ed.); memory limit:
> 128 megabytes.
>> car
> #<procedure:mcar>
>> cdr
> #<procedure:mcdr>
>> cons
> #<procedure:mcons>
>> map
> #<procedure:mmap>
>>
>
> ------------------------------------------