On Sep 18, 2007, at 11:15 AM, Michael Sperber wrote:

>> Also, is there a good reason for restricting the range of the second
>> argument to be less than (fixnum-width)?
>
> Well, if that weren't there, you'd get an exception anyway, except for
> 0, no?

No actually.

First, the restriction on the range of the second argument is not
sufficient to avoid exceptions.  (fxarithmetic-shift -72736 17) should
raise an exception even through |17| < (fixnum-width).

Second, lifting the restriction on the range of the second argument does
not imply that the result is not computable and is in the fixnum range.
For example, (fxarithmetic-shift-right 1 100) could be made to return 0
instead of raising a "100 is not less than (fixnum-width)" error.
Similarly, (fxarithmetic-shift-right -1 100) could return -1.

Aziz,,,

_______________________________________________
r6rs-discuss mailing list
[email protected]
http://lists.r6rs.org/cgi-bin/mailman/listinfo/r6rs-discuss

Reply via email to