[plt-scheme] Re: R6RS Interoperability

From: Tom Gordon (tom.gordon at mac.com)
Date: Fri Jun 27 01:27:37 EDT 2008

Matthew Flatt <mflatt at ...> writes:

> FWIW, supporting an "R6RS but with immutable pairs" language is part of
> the plan:
>   http://list.cs.brown.edu/pipermail/plt-scheme/2008-March/023485.html
> But we haven't gotten there, yet.

Here's the relevant passage from your earlier message:

"... R6RS pairs are mutable, which means that R6RS libraries
and `scheme/base' have incompatible notions of pairs and lists. We
expect that few R6RS libraries will need `(r6rs mutable-pairs)'
library, directly or transitively, in which case they can be trivially
translated to an "R6RS/i" variant of R6RS with immutable pairs --- and
then interoperate smoothly with PLT Scheme code. We plan to implement
this variant of R6RS and provide a way to translate and install a given
set of R6RS libraries as R6RS/i libraries."

Are you suggesting the R6RS requires pairs to be mutable?   Couldn't the 
decision of R6RS to move mutable pairs to a library be understood as 
deprecating mutable pairs and allowing, even encouraging, 
pairs to be immutable in modules which do not depend 
on (r6rs mutable-pairs)? Does you plan really introduce a 
"variant" of R6RS, or isn't it rather just a step towards optimizing 
your implemention of R6RS, completely in line with the standard?

Anyway, I'm very to happy with your plans.  Thanks.


Posted on the users mailing list.