If newsimp.cl uses CL rationals, then many parts of Maxima will probably
be affected. Maxima was written without much information hiding, so
there is code that assumes that all numberp objects are either integers
or floats; code that assumes that non-integral rationals can be detected
by checking for (and (not (atom ex)) (eq (caar ex) 'rat)); code that
compares unknowns to 1/2 by (alike1 ex '((rat) 1 2)), etc.
Is there a set of patches to the rest of Maxima, or is this a project
that will have to be undertaken if we want to use newsimp? If the
latter, I would suggest we do it once, and do it right, so that we can
use not just CL rationals, but also CL complexes, IEEE floats,
user-defined extension types, etc., as I suggested in my email of
2003-Dec-12 11:41: "clean up and abstract other object types".
-s