In an expression like q[5], Maxima evaluates q before subscripting it:
QQQ[5] : 'QQQ5$
q: 'QQQ$
QQQ[5] => QQQ5
q[5] => QQQ5
However, in an assignment like q[5]:'q5, Maxima does *not* evaluate q before
subscripting it:
q[5]: 'q5$
q[5] => q5
QQQ[5] => QQQ5
This is inconsistent, and means that workarounds (like buildq) are needed to
subscript an array passed as an argument.
I suggest we change the semantics of subscripting in assignment so that in
the above, q[5]:'q5 assigns the value q5 to QQQ[5].
Discussion?
-s
PS This came up when I tried to rewrite Leo's tensorfactory in a simpler
way.