[plt-scheme] Mutable and immutable pairs in PLT Scheme

From: Grant Rettke (grettke at acm.org)
Date: Wed Nov 26 09:35:57 EST 2008

On Wed, Nov 26, 2008 at 7:57 AM, Matthew Flatt <mflatt at cs.utah.edu> wrote:
> At Tue, 25 Nov 2008 23:28:16 -0500, Abdulaziz Ghuloum wrote:
>> This is what I'd thought would happen; ditch the (rnrs mutable-pairs)
>> library for the sake of (1) more interoperability with the PLT modules,
>> (2) more encouragement for people, even outside of PLT, to get rid of
>> set-car! and set-cdr! in their code (which should be easy according to
>> Matthews's blog), and (3) going through less hassle implementing what
>> is effectively a parallel universe just for mutable pairs.
>>
>> So, I was surprised when I saw that Matthew picked interoperability
>> with code that uses set-car!/set-cdr! (very little importance IMHO)
>> over interoperability with the rest of the PLT code base.
>
> I imagined that users would be too unhappy with that level of
> non-conformance, but it sounds like I may have been wrong.
>
> Does anyone here want PLT Scheme's R6RS support to include `(rnrs
> mutable-pairs)'?

Yes.

While I can't claim any Scheme implementation (#3) or programming
language design experience (#2) when it comes to this topic, it does
seem pretty clear to me that taking this step would create a marketing
nightmare for PLT.

While most Schemers don't seem to use set-car! or set-cdr!, and #1 and
#2 are excellent goals; breaking conformance with R6RS to achieve
those goals would be a bigger risk than benefit.

Isn't there a more diplomatic way to encourage R6RS users not to use
mutable-pairs?


Posted on the users mailing list.