John David Stone writes:
R6RS provides libraries for hash tables and bitwise operators — very good! Its (rnrs lists) library standardizes the names and interfaces of some very important higher-order procedures — for-all, exists, filter, fold-left, fold-right — while the proposed R7RS doesn't support any of these. Of course, we teachers can always write our own libraries to support them, as apparently we're going to have to continue to do for random-number generation. My guess is that the implementers will do at least as good a job.
The WG decided by unanimous consent to take no action on this ticket.
This objection ignores the existence of useful and relevant SRFIs that support these things: specifically SRFI 1 for lists, SRFI 33 and SRFI 60 for bitwise operations on integers (see BitwiseComparison for a comparison of both with R6RS), and SRFI 69 for hash tables. All of these come with highly portable implementations, though SRFI 69 is better implemented as a facade on top of native or R6RS hash tables. I will match Olin Shivers's highly bummed code for SRFIs 1 and 33 against any implementer ever born, although Alex Shinn's implementation of SRFI 1 is also worthy, given the overriding goal of his Scheme, which is compactness.
Unfortunately, what R6RS chose to standardize was filled with intentional and, to my mind, gratuitous deviations from these SRFIs, of which SRFI 1 at least is a de facto standard for Scheme programming. The large language will include at least SRFI 1 directly as a standard library, making it a de jure standard as well.