[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Scheme-reports] [scheme-reports-wg1] Blowing off the R5RS names QUOTIENT, REMAINDER, and MODULO

Bradley Lucier asked me privately to clarify my previous post.  "Unpack,
Miles", as Ekaterin Vorkosigan says.  Okay.

Back in the third ballot, we decided to keep the R5RS names `quotient`,
`remainder`, and `modulo`, even though they were redundant with the
newly introduced names `truncate-quotient`, `truncate-remainder`, and
`floor-remainder`.  That made sense, because the old names were in the
base library and the new names were in the `(scheme division)` library.
It was also the case that if we flushed the old names, they were gone
from the standard entirely.

Now, however, we no longer have a `(scheme division)` library, so both
the R5RS names and their systematic equivalence are in the base library.
The systematic names are more self-explanatory, so we should encourage
new code to use them.  (They are also longer, but Schemers have never
been bothered by that.)  So I'm suggesting that we remove the R5RS names
from the base library.

This is a safe decision for old code, because the names will still be in
the `(scheme r5rs)` library, which did not exist during the third ballot.
Leaving them out of the base library will slim it down.

None of this involves any change in function, just in the incantactions
you need if you want to use the new names or the old names.  This is
also exactly what we have already done with the `inexact->exact` and
`exact->inexact` names, which have been replaced in the base library by
`exact` and `inexact`, but remain unchanged in the R5RS library.

Does that help?

Cash registers don't really add and subtract;           John Cowan
        they only grind their gears.                    cowan@x
But then they don't really grind their gears, either;   
        they only obey the laws of physics.  --Unknown

Scheme-reports mailing list