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