[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: My suggestions to the R6RS committee about numerics
Your reply hasn't reached me yet (we're having e-mail problems), so
I'm going with the copy from the archive.
| From: Bradley Lucier <lucier@xxxxxxxxxxxxxxx>
| Date: Fri, 20 May 2005 15:23:28 -0500
| Hi, Aubrey:
| We already discussed many of these issues on various threads in
I can't find any subjects with "exact", "IEEE", or "inifinity" in the
3100 postings in my current usenet feed. How about a URL?
The first hit on groups.google.com for "Scheme arithmetic jaffer
lucier" gives your thread "Infinities in Scheme" from August 2003,
where I posted my recommendations to the Baltimore Scheme meeting in
1998 and we discussed those recommendations (among other things).
Explicitly, I came up with
| On May 20, 2005, at 2:13 PM, Aubrey Jaffer wrote:
| > | From: Bradley Lucier <lucier@xxxxxxxxxxxxxxx>
| > | Date: Wed, 18 May 2005 22:38:43 +0200
| > |
| > | .., I sent document about proposed changes to numerics to
| > | Marc Feeley last March to forward to the committee. Since
| > | thinking has evolved a bit, but I thought I would just
| > | comments verbatim here. ...
| > Why are you restricting the specification of inexacts to
| > arthmetic?
| I'm not doing as you suggest; perhaps you misinterpret my
You have me at a disadvantage. Where I have written extensively about
intent and motivations in SRFI-70, you have given no hint, even in
response to my direct question.
OK, let's try this again.
The first part deals with IEEE 754/854 arithmetic. If you don't
support this arithmetic, then things are still up in the air.
Note: This section does not state under which conditions eqv?
returns #t or #f for inexact numbers that are not in IEEE 754/854
If an implementation uses IEEE 754/854 format for inexact numbers
etc. I mean to imply that other types of inexact arithmetic are
possible, and these parts of the specification don't necessary apply
to them. I don't pretend to be able to imagine all possible inexact
Why are you restricting the specification of inexacts to
which I take to imply that you think my entire specification allows
only IEEE-754/854 arithmetic.
Is this right? If so, I don't understand why you think this.
Again, I wrote:
(exact? z) procedure
(inexact? z) procedure
These numerical predicates provide tests for the exactness of a
For any Scheme number, precisely one of these predicates is true.
<Add the following>
For implementations that allow (real z) and (imag z) to have different
exactness, then (exact? z) returns #t if and only if both (exact?
and (exact? (imag z)) return #t.
<end of addition>
This says explicitly that "For any Scheme number, precisely one of
these predicates is true."
Now, I understand that
"z is exact" if and only if "(exact? z) => #t"
"z is inexact" if and only if "(inexact? z) => #t"
Under my recommendation, precisely one of these is true, so each
scheme number is either exact or inexact, not both, and not neither.
A number is either exact or inexact; and a complex number (like a
rational number) is one number, not two. Exactness thus applies to
the whole complex number, not to its components.
So what are you thinking? What are you trying to say? Do you think
that this is in some way incompatible with my definition of exact?
and inexact?? Or are you trying to make a separate point?
I will not anger you further with my guesses as to your intentions.
Angry? No, not angry, not at all. Bemused, perhaps, but not angry.