For what should we use the tag? It doesn't have a wiki, though from the 13 questions it seems like it covers structural manipulation of expressions. While 13 questions are not too much, there is another side of the coin: structural manipulation is a very important part of Mathematica, and is underrepresented among the tags. We always fall back to use such low-level manipulation whenever regular evaluation is not enough, and we all like the beauty of the injector pattern and the T&S method.

The topic is only partly covered by and , which are not directly about structural manipulation. Furthermore, there is the tag: it seems like that is used whenever the other is used in a somewhat interchangeable fashion. Now I understand, that for example rearranging knowns and unknowns in an equation both involves algebraic and structural manipulation in Mathematica, but since there is no wiki for the latter, the appropriate tag lingers there without any meaning.

I would like to hear your opinion about this issue before submitting anything to the tag wiki, or before pushing for tag removal, retagging, synonymizing, or whatnot.

1 Answer 1


Here is my proposal for the tag wiki about structural manipulation:

How to manipulate expressions structurally. The tag is not about manipulating mathematical formulae algebraically but is about adding/removing/replacing parts of expressions structurally, often without evaluating (parts of) the expression. Structural manipulation usually involves functions of the Hold family (Hold, HoldForm, HoldComplete, HoldPattern), controlled evaluation (Unevaluated, Evaluate, ReleaseHold) and replacement functions (With, Replace, ReplaceAll, etc.).

Please upvote only, if you think that the tag should be emended to cover this topic, and should be clearly distinguished from and .

  • 2
    Sounds good to me, with one (two?) minor exceptions: since HoldForm and Defer are mainly for producing held output and not often used for more general manipulations, I think questions concerning these would be better off categorized under evaluation rather than lumped in here. With, on the other hand, is a very powerful tool for expression-manipulation. Commented Oct 29, 2012 at 22:28
  • @Oleks Thanks for the extra bits, I've edited my answer. But I would like to point out that HoldForm can be used just like Hold to make structural changes using With, see e.g. my answer here. Commented Nov 2, 2012 at 10:46

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .