This page is part of the web mail archives of SRFI 60 from before July 7th, 2015. The new archives for SRFI 60 contain all messages, not just those from before July 7th, 2015.
| Date: Mon, 3 Jan 2005 17:55:54 -0800 (PST) | From: Taylor Campbell <campbell@xxxxxxxxxxxxxxxxxxxxxxxxxxx> | | I'm wondering why you started with SLIB, rather than, as you slib/logical.scm was first copyrighted in 1991. It predates SRFI-0 by 8 years; SRFI-33 by 11 years. | mention in passing in the current document, the very carefully | thought-out SRFI 33 for the base of this SRFI. Its bizarre that I am first criticized for taking preceedent from SRFI-4 (in SRFI-47); then for not taking preceedent from a withdrawn SRFI-33. | In particular, the naming in SLIB seems to be quite ad-hoc -- no | consistency with the LOGICAL-, BITWISE:, LOG, &c. prefixes --, and | the set of general bitwise operations is somewhat different from | that of SRFI 33: some are missing & some are added. Was it simply | that starting from SLIB was easier at the time, or is there a more | complete rationale for the conventions you chose? I took functions from Common-Lisp which are useful, keeping their names. Names for new functions should not be common words which could suffer collisions. Where the common words are the best description, I add a prefix of the package name or theme followed by `:'. In packages where only a couple of names are prefixed, this can look ad-hoc. | If it is simply that SLIB was an easier starting point for you, I'd | like to suggest a few name changes to bring what names you added | closer to SRFI 33's conventions: | | logical:ones -> bit-mask (%MASK internally in SRFI 33) | logical:rotate -> bitwise-rotate ONES and ROTATE would be better names, but are too common as words and suffered collisions. BIT-MASK is a reasonable suggestion. But why BIT-MASK and not BITWISE-MASK? To me, bitwise means that bits are operated on in their bit-lanes, not affecting other bit-lanes. ROTATE doesn't work that way. ASH is another problem word, but is prior art from Common-Lisp. | bit-reverse -> bitwise-reverse This one jumps bit-lanes. I think bit-reverse is the better description. | bitwise:laminate -> bitwise-laminate | bitwise:delaminate -> bitwise-delaminate I used bitwise because bits in corresponding lanes are extracted. BIT-LAMINATE and BIT-DELAMINATE might be better.