[R6RS] inconsistent naming of arithmetic predicates

William D Clinger will at ccs.neu.edu
Thu Jun 29 09:00:38 EDT 2006

While working on the reference implementation for
arithmetic, I am making a lot of mistakes because
the names of our arithmetic predicates are not
consistent.  Let's say the status quo is option 0:

 0. The current draft of SRFI 77 lists:


I believe the rule that led to these names was:

    If the main part of the name consists only of
    special characters (e.g. =, <=), then do not
    add a question mark at the end.  Otherwise
    add a question mark at the end.

I believe that rule was augmented by this one:

    If the main part of the name is not a real
    word or contains only a couple of letters,
    then do not add a question mark at the end.

When the fx= procedure of the original draft of
SRFI 77 was renamed to fixnum= in the second
draft, I left off the question mark according
to this rule:

    The names of the fixnum procedures are the
    same as the names of the corresponding fx
    procedures, replacing fx by fixnum when
    the character following fx is not a letter,
    and replacing fx by fixnum- when a letter
    follows fx.

I would like to rename the SRFI 77 predicates
by adopting one of these two rules:

 1. No question mark is added for predicates
    corresponding to =, <, or >.

 2. If the predicate contains any letters at
    all, then it ends with a question mark.

These two rules would give us these options:

 1. =


 2. =

I prefer the first.  The second would be more
consistent with the rule that gave us char=?,
string=?, char-ci=?, and string-ci=?.

I'd like to vote on these options (0, 1, or 2)
by electronic mail or in our conference next
Tuesday so I can submit a revised SRFI 77 and
reference implementation before I leave town
on the first of two trips.  (I will be out of
town on the second Tuesday in July.)


More information about the R6RS mailing list