Constructing expressions

*To*: mathgroup at christensen.cybernetics.net*Subject*: [mg677] Constructing expressions*From*: Scott Herod <sherod at newton.Colorado.EDU>*Date*: Sat, 8 Apr 1995 13:03:24 -0600 (MDT)

Someone asked last night about a way to construct expressions of a certain type. I erased the message but then lay awake thinking about an answer. It is similar to some things that I have had to work out in the past. Anyway, here is a suggestion. I'm not sure if I am reproducing exactly what was asked for but hopefully it is close. Here is some code: Cat[a_,b_] := ToExpression[StringJoin[ ToString[a], ToString[b]]]; ddd[x_[k_]] := Apply[x,Table[Cat[x,i],{i,k}]]; ddd[x_[k_,j__]] := Apply[x, Table[ddd[Cat[x,i][j]],{i,k}]]; Here is an example: In[25]:= ddd[t[2,2]] Out[25]= t[t1[t11, t12], t2[t21, t22]] In[28]:= ddd[t[2,2,3]] Out[28]= t[t1[t11[t111, t112, t113], t12[t121, t122, t123]], t2[t21[t211, t212, t213], t22[t221, t222, t223]]] Scott Herod Applied Mathematics University of Colorado, Boulder sherod at newton.colorado.edu