diff --git a/NEWS b/NEWS index 8fe4a2b38..40e998684 100644 --- a/NEWS +++ b/NEWS @@ -20,6 +20,31 @@ debugging evaluator gives better error messages. * Changes to Scheme functions and syntax +** There is support for Infinity and NaNs. + +Following PLT Scheme, Guile can now work with infinite numbers, and +'not-a-numbers'. + +There is new syntax for numbers: "+inf.0" (infinity), "-inf.0" +(negative infinity), "+nan.0" (not-a-number), and "-nan.0" (same as +"+nan.0"). These numbers are inexact and have no exact counterpart. + +Dividing by an inexact zero returns +inf.0 or -inf.0, depending on the +sign of the dividend. The infinities are integers, and they answer #t +for both 'even?' and 'odd?'. The +nan.0 value is not an integer and is +not '=' to itself, but '+nan.0' is 'eqv?' to itself. + +For example + + (/ 1 0.0) + => +inf.0 + + (/ 0 0.0) + => +nan.0 + + (/ 0) + ERROR: Numerical overflow + ** We now have uninterned symbols. The new function 'make-symbol' will return a uninterned symbol. This diff --git a/test-suite/ChangeLog b/test-suite/ChangeLog index 1548e0de0..abfc1b639 100644 --- a/test-suite/ChangeLog +++ b/test-suite/ChangeLog @@ -1,3 +1,8 @@ +2002-05-07 Marius Vollmer + + * tests/numbers.test (/): Expect divison by an inexact zero to + yield +inf.0. + 2002-05-06 Marius Vollmer * tests/regexp.test (regexp-substitute/global): Do not test with