revisions, are they on a list?



   From: Richard Fateman <fateman at cs>
   
   Complex numbers would need some careful consideration.
    Some experimentation with Allegro CL suggests that
   both the real and imag parts are
     1. integer or rational

I think you mean "integer or ratio" since integer is a subtype of
rational.  In fact, rational is the type union of integer and ratio.

Don't forget that in Common Lisp rational complex numbers are
immediately and unconditionally demoted to rational if the imaginary
part is zero:

  12.1.5.3 Rule of Canonical Representation for Complex Rationals

  If the result of any computation would be a complex number whose real
  part is of type rational and whose imaginary part is zero, the result
  is converted to the rational which is the real part. This rule does
  not apply to complex numbers whose parts are floats. For example, #C(5
  0) and 5 are not different objects in Common Lisp (they are always the
  same under eql); #C(5.0 0.0) and 5.0 are always different objects in
  Common Lisp (they are never the same under eql, although they are the
  same under equalp and =).

For example:

  cl-user(1): #c(22/7 0)
  22/7

I don't know whether this would be compatible with Maxima's internal
assumptions.