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

Re: infinity notations

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



> Some new possibilities have come to light.  Here are all the possible
> Scheme infinity notations that I know of:
> Notations C and G use a trailing `.' to indicate inexactness as K
> does.  This requires a small extension to R5RS number syntax, as
> rational notation (`1/0') does not currently allow a trailing period.

- however may not be necessary if +Inf is symbolically defined as +1/0.

And I'll concede my perceived necessity to denote an ambiguously signed
infinity in exchange for the prevention of incorrectly signed infinities,
which means that the region about 0 must be considered correspondingly
invalid, (i.e. both are considered NaN or 0/0). yielding:


          /  NaN  \         or equivalently:          /  0/0  \
         /    |    \                                 /    |    \
        -Inf  |  +Inf                               -1/0  |  +1/0
        ------+------- (reciprocal projection axis) ------+------
        -0.0  |   0.0                               -0.0  |  +0.0
         \    |    /                                 \    |    /
          \  NaN  /                                   \  0/0  /
              |                                           |
              0                                           0
  (negative projection axis)                  (negative projection axis)

(where NaN and +-Inf may be thought of as symbols defined as 0/0 and +-1/0)

Which helps eliminates the ordering concern, although it's likely still a
good idea to define (= -0.0 0 +0.0) => #t, and (< -0.0 0 +0.0) => #t, etc.

However then 0/0 denotes all ambiguities in either sign or value, even those
which may be very small, then Therefore:

(+ +0.0 -0.0) => 0/0 [aka NaN]

as otherwise:

 (/ (+ +0.0 -0.0 +0.0)) :: (/ (+ 0 +0.0)) :: (/ +0.0) => +Inf

[which would be incorrect]

Thereby one can argue that this is actually good, as then the iterative sum
of alternating infinitely small value about 0 is considered ambiguous, which
would typically be the case. and correspondingly yield 0/0 for all
ambiguities in either sign or significant magnitude.

(tan pi/2) => 0/0
(/ 0.0 0.0) => 0/0