This is very confusing



Not so confusing if you remember the difference between a string and a
variable.

For instance

(%i1) b:"a";   a:"b";  [a,b];
(%o1)                                  a
(%o2)                                  b
(%o3)                               [b, a]

Assigning the variable  a  doesn't modify the string  "a" , so  b:"a"  is
not modified by the assignment  a:2;

The confusion may come from the fact that the quotes are removed by
evaluation : for instance :

(%i10) cos(%pi);
(%o10)                                - 1
but
(%i11) cos("%pi");
(%o11)                             cos(%pi)



Eric


> Try
>
> (%i1) b:"a";
> (%o1) a
> (%i2) a:2;
> (%o2) 2
> (%i3) cos(b),numer;
> (%o3) cos(a)
> (%i4) remvalue(a,b);
> (%o4) [a,b]
> (%i5) b:a;
> (%o5) a(%i6) a:2;
> (%o6) 2
> (%i7) cos(b),numer;
> (%o7) -0.41614683654714
>
> So (%o3) = cos(a) whereas (%o7) is a float.  This does not seems
> consistent to me.
>
> Rich