From: Ben Harris Date: Tue, 17 Apr 2007 20:56:43 +0100 (BST) Subject: [Formal] Rename bitwise-arithmetic-shift to bitwise-shift etc. submitter: Ben Harris type: Simplification priority: Trivial component: Arithmetic version: 5.92 summary: Rename bitwise-arithmetic-shift to bitwise-shift etc. The distinction between "logical" and "arithmetic" shift operations is only relevant when working with a fixed word-length and both signed and unsigned numbers. In those cases, the choice of shift operation determines how bits inserted at the high-order end of the word are chosen, with "logical" shifts being useful for unsigned values, and "arithmetic" shifts for signed ones. Scheme numbers, as represented in (r6rs arithmetic bitwise) are of indefinite length and are always signed, so a bitwise "logical" shift operation on them would be meaningless on two counts. In consequence, I think that the following procedures should be renamed to remove the word "arithmetic": Page From To 42 bitwise-arithmetic-shift bitwise-shift 42 bitwise-arithmetic-shift-left bitwise-shift-left 42 bitwise-arithmetic-shift-right bitwise-shift-right 38 fxarithmetic-shift fxshift 38 fxarithmetic-shift-left fxshift-left 38 fxarithmetic-shift-right fxshift-right -- Ben Harris RESPONSE: Even though the "logical" counterparts do not exist in R5.92RS, they would make sense, either operating on the two's complement representation or with an explicitly specified bit field. For this reason, the editors chose to make the meaning explicit.