[plt-scheme] Re: R6RS Interoperability
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.
-Tom