MathGroup Archive 2006

[Date Index] [Thread Index] [Author Index]

Search the Archive

Clearing a symbol known only through a definition

Suppose I have a symbol "a" that is defined to be equal to another 
symbol. (E.g. It might be that a := b.) How can I clear the value of the 
symbol 'pointed to' by "a", without knowing explicity what symbol that is?

Clear[a] won't do, of course.
Clear[Evaluate[a]] won't do, because that will evaluate to 
Clear[Evaluate[b]], which will in turn (in general) evalulate to 
Clear["whatever b evalulates to"].

Alternatively, here is the particular problem I want to solve:

For any expression e, either e is a symbol, or Head[e] is, or 
Head[Head[e]] is, etc. Call this the "topmost symbol" in the expression. 
Thus, the topmost symbol in f[x][y][z] is f.

I want to write a function that takes an expression and calls Clear[] on 
its topmost symbol. Can anyone think of a simple way to write such a 

  • Prev by Date: RE: Prefix function syntax f @ x
  • Next by Date: Re: Graphics3D axes
  • Previous by thread: New Mathematica book from Cambridge
  • Next by thread: Re: Clearing a symbol known only through a definition