I received the following response from Brad Lucier.
>> If WG1 members have any comments, I would be grateful to hear them — or if WG1 would like to resolve the inconsistency itself, that would also be good
>
> (I can no longer post email from my wg1-subscribed email address,
luc...@math.purdue.edu, so I’m sending this to you directly.)
>
> I put the ballot question, with votes and comments at the end of this email, from
https://small.r7rs.org/wiki/WG1Ballot5Results/.
>
> In retrospect, I find that the vote conflates various questions that should have been separated, whether 1.+0.i should be real and whether there should be a real-valued? procedure. In reviewing my old emails, it seems I said I was “an old guy” (it’s now 12 years later!) and confused and got a bit grumpy.
>
> My opinion is still that (real? 1.+0.i) should be #f. Whether people might find a procedure named real-valued? useful is a separate question. (I guess I felt strongly about the first question, and had no opinion about the second, so I voted “no” without further comment.)
>
> So I agree with Marc Feeley’s comment.
>
> Brad
>
>
> #286 Numeric *-valued procedures for R5RS and R6RS-base compatibility
[the remainder of this mail quoted from
https://small.r7rs.org/ticket/286 –dpk]
> Real-valued?, rational-valued?, and integer-valued? test whether a given number object can be coerced to the specified type without loss of numerical accuracy. They are equivalent to the versions of real?, rational?, and integer? that exist in R5RS.
> Specifically, the behavior of these predicates differs from the behavior of real?, rational?, and integer? on complex number objects whose imaginary part is inexact zero.
> These procedures provide R6RS base compatibility as well.
> • Vote yes to add *-valued procedures;
> • Vote no to leave out the *-valued procedures;
> • Vote r5rs to leave them out and revert real?, rational?, and integer? to R5RS semantics
> • vote r5rs+strictly to do what r5rs does, and also add strictly-*? procedures to provide the R6RS semantics of real?, rational?, and integer?.
> • Options: yes, no, undecided
> • Default: no
> • Voters:
> • Cowan: r5rs
> • Ganz: r5rs
> • Gleckler: r5rs, no, r5rs+strictly
> • Hsu: yes
> • Lucier: no
> • Medernach: r5rs+strictly, r5rs, yes, undecided
> • Shinn: no, undecided
> • SnellPym: r5rs+strictly, r5rs, yes, no
> • Results: r5rs, no, r5rs+strictly, yes, undecided
> • Ratios: 5:2, 3:2, 5:1, 5:1
> • Rationales:
> CowanIt's inconsistent to vote for the R6RS-base library without providing these. In addition, the R5RS library can and should export them as real, rational, and complex. This is one of the places where we made a silent change to the semantics of a procedure (silent in the sense that code will behave differently without any warning), and there should be an easy way to recover the old semantics.GanzThe example given is too narrow to support both sets of predicates.GlecklerThese names are awful. I'll never be able to remember that real-valued?' means something different than real?', and even if I do, I won't remember which one is which. I'm sure others will have the same problem. If we come up with better names, I might be willing to vote yes. After John's edit: The "strictly-*" names don't make things any less confusing, so I'm voting to revert to r5rs or at least to leave out the new names.ShinnIf nothing else the names are too confusing - the difference is too small, and I don't think people will be able to keep these straight.