On Fri, May 12, 2017 at 4:54 PM, Kevin Wortman <xxxxxx@gmail.com> wrote:

Neither order is inherently more natural than the other as a consequence of history. English prose is written left-to-right, Arabic numbers are written right-to-left, and source code blends both traditions. It's an evergreen source of confusion.
 
[...]
 
Of the two orders, I think lsb-first is more convenient to the programmer since in lsb-first, the first bit is always index 0, consistent with how indexes work for Scheme lists and vectors. With msb-first the first index is variable, depending on the most significant bit of the integer in question. So lsb-first iteration is implicitly "anchored."

I find this argument 100% compelling: the only reason why (integer->length #b1010) => (#t #f #t #f) is the visual similarity, but this is completely misleading, because we write integers big-endian and lists and vectors little-endian.  So I'm going to go with little-endian order throughout, so that bit 0 always corresponds to list or vector element 0.  There will be ample boldface warnings about the silent change from the SRFI 60 sample implementation (the spec failed to specify the order); fortunately, R6RS does not have these procedures and is not affected.

So the remaining reason for SRFI 151 is the bitwise-if problem, but there will also be a lot of editorial improvements, some already posted, others in progress.

-- 
John Cowan          http://vrici.lojban.org/~cowan        xxxxxx@ccil.org
"But I am the real Strider, fortunately," he said, looking down at them
with his face softened by a sudden smile.  "I am Aragorn son of Arathorn,
and if by life or death I can save you, I will."