div0 and mod0 Bradley Lucier 25 Jul 2006 18:15 UTC

Qualify the following statements with my admittedly limited knowledge
of programming languages, architectures, and algorithms.

div0 and mod0

	1. appear in no other programming languages of which I am aware;
	2. appear in no implementations of scheme of which I am aware;
	3. are useful in no algorithms of which I am aware;
	4. appear in no R*RS;
	5. are implemented in no computer architectures of which I am aware.

Yet div0 and mod0 have been added to this SRFI, with the only
rationale being:

> Rationale: The half-open symmetry about zero is convenient for some
> purposes.

quotient and remainder

	1. appear in every programming language of which I am aware;
	2. appear in all implementations of scheme of which I am aware;
	3. are useful in many algorithms;
	4. appear in every RNRS at least since N=1;
	5. have single-instruction hardware implementations in most "PC-
level" computer architectures.

Yet quotient and remainder have been removed by this SRFI, with the
only rationale being:

Well, no rationale is given, only the bald statement

> The quotient, remainder, and modulo procedures were removed.

This behavior might be characterized as "program language design by
assertion".

I think these two decisions should be reversed and a division
operator associated with the existing modulo in RNRS be added.

Brad

PS: Let me say that I in no way consider Egner et al., cited as a
Reference, to offer a rational rationale for either of these actions.