ratdisrep(rat(x=y)) leaves x=y as a rat, and this is visible
to the user:
/R/ x=y
Internally, it is actually rat(x)=rat(y), and ratdisrep does
not look inside the "=" operator.
Similarly, ratdisrep(rat([x])) and ratdisrep(rat(matrix([a])))
do not do any ratdisrep'ing within the top-level operator.
Though of course it is possible to Map or Scanmap
Ratdisrep across the expressions, it is confusing for the
user that Ratdisrep does not undo the effect of Rat.
So Ratdisrep should have the same conventions as
Rat. If Rat(x=y) "goes inside" the equality to convert x
and y to rats, then similarly Ratdisrep should.
As suggested ratdisrep is changed in rat3e.lisp revision 1.26. It distributes over lists, equations, and matrices.
Closing this bug report as fixed.
Dieter Kaiser