Some of the big mysteries of Universe Mathematica for me is the application of UpValues.
I know about this question and know the very poor Mathematica documentation on that. I'm very curious to know if someone that not Leonid uses this too.
Just to get some clue on how it works, I would like to know what's the difference between TagSet and UpSet. Can I say that UpSet is subset of TagSet?
For instance, I can say these examples are equivalent.
name[alien]^= "Alf"
alien /: name[alien] = "Alf"
In what situations should I apply each case?


UpValuesin general. – Leonid Shifrin Jan 25 at 10:11