This site is a static rendering of the Trac instance that was used by R7RS-WG1 for its work on R7RS-small (PDF), which was ratified in 2013. For more information, see Home.
Source for ticket #140
cc
changetime
2012-08-27 06:57:41
component
WG1 - Core
description
Are we removing the IEEE Scheme functions `quotient`, `remainder`, and `modulo` from WG1 Scheme? If so, we need a special justification, due to the charter text:
Existing features of IEEE Scheme may be removed only if a strong case can be made that they are fundamentally flawed. Insofar as practical, the language should be backwards compatible with the IEEE standard, the R5RS standard, and an appropriate subset of the R6RS standard.
Here's what DivisionRiastradh says:
Unfortunately, most programming languages give nondescript names such as DIV(IDE), QUOT(IENT), MOD(ULO), and REM(AINDER) to these operations. The language should make clear to programmers what division operations their programs are performing, especially when negative dividends and divisors can arise, but perhaps may not often arise during testing.
[...]
The R5RS gives the names `quotient` and `remainder` to the truncating division operator pair, and the name `modulo` to the remainder half of the flooring division operator pair. For all these three procedures in the R5RS, the dividend may be any integer, and the divisor may be any nonzero integer.
On the other hand, we may prefer relegating them to a backward-compatibility module.
id
140
keywords
milestone
owner
alexshinn
priority
major
reporter
cowan
resolution
wontfix
severity
status
closed
summary
Removing `quotient`, `remainder`, `modulo`
time
2011-02-03 06:17:13
type
defect
Changes
Change at time 2012-08-27 06:57:41
author
cowan
field
comment
newvalue
oldvalue
4
raw-time
1346025461821804
ticket
140
time
2012-08-27 06:57:41
Change at time 2012-08-27 06:57:41
author
cowan
field
resolution
newvalue
wontfix
oldvalue
raw-time
1346025461821804
ticket
140
time
2012-08-27 06:57:41
Change at time 2012-08-27 06:57:41
author
cowan
field
status
newvalue
closed
oldvalue
decided
raw-time
1346025461821804
ticket
140
time
2012-08-27 06:57:41
Change at time 2012-08-25 00:40:01
author
cowan
field
comment
newvalue
WG1 decided to make no change.
oldvalue
3
raw-time
1345830001291272
ticket
140
time
2012-08-25 00:40:01
Change at time 2012-08-25 00:40:01
author
cowan
field
status
newvalue
decided
oldvalue
reopened
raw-time
1345830001291272
ticket
140
time
2012-08-25 00:40:01
Change at time 2012-04-09 23:41:14
author
cowan
field
comment
newvalue
I'm reopening this ticket, because the circumstances have changed:
* We now have the R5RS library, which captures all the R5RS names including these.
* We no longer have the division library, so both old and new sets are in the base library, bloating it.
* We have set a precedent by adopting the R6RS names `inexact` and `exact`, so we are now interpreting the charter as saying that function documented in IEEE must not be removed, rather than that names in IEEE must not be changed, particularly since the old names are still available in another library.
oldvalue
2
raw-time
1333989674236454
ticket
140
time
2012-04-09 23:41:14
Change at time 2012-04-09 23:41:14
author
cowan
field
resolution
newvalue
oldvalue
fixed
raw-time
1333989674236454
ticket
140
time
2012-04-09 23:41:14
Change at time 2012-04-09 23:41:14
author
cowan
field
status
newvalue
reopened
oldvalue
closed
raw-time
1333989674236454
ticket
140
time
2012-04-09 23:41:14
Change at time 2011-07-10 18:07:16
author
alexshinn
field
comment
newvalue
We voted to keep these.
oldvalue
1
raw-time
1310296036000000
ticket
140
time
2011-07-10 18:07:16
Change at time 2011-07-10 18:07:16
author
alexshinn
field
resolution
newvalue
fixed
oldvalue
raw-time
1310296036000000
ticket
140
time
2011-07-10 18:07:16
Change at time 2011-07-10 18:07:16
author
alexshinn
field
status
newvalue
closed
oldvalue
new
raw-time
1310296036000000
ticket
140
time
2011-07-10 18:07:16