Ray wrote:
> I think it's a bug. We shouldn't be printing out Lisp symbols for
> these things. It seems all that's required is to add a reversealias
> property to the symbol's plist. Not sure if that's the correct
> solution. Need to look at what linear display does....
Adding a reversealias would work, but this has to be done for a lot of functions
and the property reversealias has the side effect that the concept of quoting is
changed for the function. But perhaps that is a bug too.
Here a sample session:
/* First the problem with the linear display */
(%i7) kill(all);
(%o0) done
(%i1) display2d:false;
(%o1) false
(%i2) bessel_j(n,z);
(%o2) ?%bessel_j(n,z)
/* Example of quoting to prevent evaluation */
(%i5) '(bessel_j(1,0.5));
(%o5) bessel_j(1,0.5)
/* We give the alias and reversalias */
(%i7) :lisp (alias '$bessel_j '%bessel_j)
%BESSEL_J
/* The linear display is o.k */
(%i7) bessel_j(n,z);
(%o7) bessel_j(n,z)
/* But the concept of quoting don't work no longer */
(%i8) '(bessel_j(1,0.5));
(%o8) 0.24226845767487
I have seen this problems because I am working on a batcj file in which I would
do something like:
is function(arg) equal '(function(arg))
This test should ensure that the simplifier returns the orginal function without
any simplification. But I have also to solve the problem that the evaluated
function is something like ((%function simp) arg) and the quoted function looks
like (($function) arg). Is there a more simple way to do such a test?
Dieter Kaiser