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

div0 and mod0

This page is part of the web mail archives of SRFI 77 from before July 7th, 2015. The new archives for SRFI 77 contain all messages, not just those from before July 7th, 2015.



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.