[racket] feedback on migrating to immutable pairs?

From: Matthew Flatt (mflatt at cs.utah.edu)
Date: Tue Jun 29 09:40:30 EDT 2010

At Mon, 28 Jun 2010 22:44:27 -0400, Ryan Newton wrote:
> By the way, is it on the horizon to have whole-program R6RS compiles that
> will verify that no mutable pairs are used and select the immutable ones?

Not that I see. We considered implementing an R6RS-like language
without mutable pairs, which would interoperate more smoothly with
Racket. Demand never seemed large enough to get started on that. If
such a language existed, a tool that could convert a set of R6RS
libraries to the R6RS-like language.

> Finally, mutable pairs are also cited as reason not to implement
> deforestation in Scheme compilers.  I notice that R6 is
> mindful<http://www.r6rs.org/final/html/r6rs/r6rs-Z-H-14.html#node_idx_642>to
> ban both list mutation in map's (irrespective of pairs mutability) and
> leave evaluation order unspecified.  Does that mean we get deforestation
> now?

I'm not sure. Racket does specify the order of evaluation for `map' (or
`for/list'), so that might be an obstacle for Racket's `map'.

Posted on the users mailing list.