bit.ops defines some ops on strings, and not others. I was wondering if anyone thinks the following would be useful (I'm offering to write them, as it won't be much work):
lsls(inout STR, in INT) lsrs(inout STR, in INT)
and, of course, their appropriate permutations.
Cool!
Of course, there's the small matter that shifting left might grow your string, but this should not be a major concern for Parrot. I don't think shifting right should shrink the string.
I think left and right shift of strings should work the same way that shifts on ints works--that is, it doesn't grow, bits just fall off the end. You can decide whether to sign-extend or 0-extend, either one's OK.
--
Dan
--------------------------------------"it's like this"------------------- Dan Sugalski even samurai [EMAIL PROTECTED] have teddy bears and even teddy bears get drunk