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

div0 and mod0



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.