Numerical limits and negative values
Lassi Kortela 17 Sep 2019 11:39 UTC
Thanks for drafting this SRFI, John. Well written.
"(timespec? obj) [...] each component is checked to see if it is an
exact integer, and in the case of the nanoseconds component, whether it
is a non-positive integer less than 1,000,000,000."
Means to say "non-negative integer".
It might be good to add an explicit discussion of negative values to the
Rationale section. The definition of the (timespec?) procedure implies
that the seconds component can be negative, but nanoseconds cannot.
However, this doesn't seem to be explicitly stated anywhere.
It might also be good to add an explicit statement that if the
implementation's fixnum length is >= N bits, then it is permitted to
regard any object with timespec-like structure but bignum instead of
fixnum values as not being a timespec. Stipulating N = 30 bits gives a
billion years of range.