1. I would recommend that (complex-generator) return first
(define special-reals
'(0 -0 +1 -1 +0. -0. 1. -1. +inf.0 -inf.0 +nan.0 -nan.0))
(apply append
(map (lambda (first)
(map (lambda (second)
(make-rectangular first second))
special-reals))
special-reals))
as much as possible. Gambit doesn't have -0, -nan.0; some schemes don't
have mixed exactness.
2. I'd recommend that (exact-complex-generator) return first
(define special-exact-reals
'(+0 -0 +1 -1))
(apply append
(map (lambda (first)
(map (lambda (second)
(make-rectangular first second))
special-exact-reals))
special-exact-reals))
which in Gambit is
(0 0 +i -i 0 0 +i -i 1 1 1+i 1-i -1 -1 -1+i -1-i)
3. Should
(exact-generator) be renamed to (exact-real-generator), and
(inexact-generator) be renamed to (inexact-real-generator)?
4. Do you mean (number-generator) to be (real-number-generator)? I
guess I don't really see the difference between
(compex-generator) and (number-generator) (unless you support
quaternions or something like that).
That's enough for now.