[plt-scheme] R6RS fixes and an interoperability question

From: Matthew Flatt (mflatt at cs.utah.edu)
Date: Tue Sep 29 12:11:27 EDT 2009

At Mon, 28 Sep 2009 21:11:32 +0200, Andreas Rottmann wrote:
> I'm working on getting my R6RS libraries running on PLT Scheme once
> again, and have prepared two patches fixing issues in PLT's R6RS
> support:

Thanks! I've applied these patches in SVN.

> I'm working on a patch to fix the mutable pairs issue in at least some
> SRFIs, I've attached what I've got so far -- please note that this is
> only /very/ lightly tested. For SRFI-1, I've taken the implementation
> from Derick Eddington's R6RS SRFI collection[0], as it doesn't make
> sense to wrap the pristine PLT SRFI-1 implementation; for SRFI-8 I've
> likewise created an R6RS library, for SRFI-13 and SRFI-14, I've re-used
> the pristine implementations and inserted conversions from/to mutable
> lists in the relevant places:

Good --- also applied in SVN.

> Finally, I have an interoperability question: I'd like to interface R6RS
> ports with PLT's `subprocess' procedure, and AFAICT, there is no way to
> get at the underlying native PLT port given an R6RS port. I'm willing to
> implement support for this, but am unsure about how to proceed. What I
> thought would work is moving code in "collects/rnrs/io/ports-6.ss" to
> "collects/r6rs/private/ports.ss", and add a procedure named
> e.g. `r6rs-port->port'. Then "collects/rnrs/io/ports-6.ss" would just
> re-export all of "collects/r6rs/private/ports.ss" except for the added
> non-standard procedure. Does that make sense?

Yes, that sounds like the right idea.

Posted on the users mailing list.