A general question: How much should we cater to broken Lisp
implementations?
As an example, I applied a fix for Stavros' bug that
rectform(1e160/(1e160+%i)) was returning 0.0. This is a bug in gcl,
but on cmucl, I get an overflow. This is caused maxima computing
1/(1e160+%i) by multiplying by the conjugate. This causes the
denominator to overflow.
To fix, this I changed the code to do, essentially, (/ (complex 1e160
1)). This works fine on cmucl and probably sbcl. But gcl, ecl, and ccl
give an overflow. Clisp returns #c(1e-160 0.0). (This is not quite
correct. The answer should be #C(1.0d-160 -9.99988867182683d-321), but
maybe Clisp doesn't support denormalized numbers?).
In this particular case, it's easy to fix this so that it works on all
Lisps, but should we?
Ray