[R6RS] shift operators
William D Clinger
will at ccs.neu.edu
Mon Apr 17 14:31:24 EDT 2006
> That's all fine, but my take is a bit different: the fx operators should
> behave like the corresponding arbitrary-precision versions within the
> fixnum range, with full error checking in safe mode and (possibly) native
> (near single-instruction) efficiency in unsafe mode.
We are in agreement, but I wasn't sure the editors fully
understood the implications; in particular, I didn't.
The "behave like the corresponding arbitrary-precision
versions" means the fx operators *must* signal an error
rather than return some result that depends on the precision
of fixnums. That implies a potential performance penalty,
even for the shift operations, which must signal an error
(in safe mode) rather than drop bits that are shifted out
of the fixnum range.
> Diverging from SRFI 60 doesn't seem like a big deal...
In that case, I will revise the SRFI's specification for
the shift operations and for all of the operations that I
questioned in the issues list.
> Ah, I see. I agree with you that fx+ (and others as appropriate)
> should be restricted to two arguments.
I won't get around to making these changes until Wednesday.
More information about the R6RS