UML-like diagrams for Mathematica
- To: mathgroup at smc.vnet.net
- Subject: [mg62960] UML-like diagrams for Mathematica
- From: "Steven T. Hatton" <hattons at globalsymmetry.com>
- Date: Fri, 9 Dec 2005 05:10:40 -0500 (EST)
- Sender: owner-wri-mathgroup at wolfram.com
I am not a passionate fan of UML. I often find UML to obfuscate rather than illuminate. Nonetheless, the basic idea of using graphical representations to help communicate ideas about programming constructs is a valuable tool. I once had a professor tell me "When you want to understand a problem, draw a picture." I believe there is a great deal of value in that advice which Dr. John A. Wheeler gave me. I find it very surprising that books about Mathematica often use graphics to provide insight into mathematical problems, but rarely use diagrams to represent the structure of objects in Mathematica. The particular subject I am thinking about is the structure of a Symbol. I really don't know what the internal structure is. All I know is there is some kind of hash table holding symbols and their associated values. My current understanding of symbols in Mathematica is that they consist of (or are associated with) at least some of the following: UpValues DownValues OwnValues[*] SubValues Options Attributes internal data I have been using Mathematica occasionally for over a decade, and am just now coming to understand the basic ideas of how data and expressions are represented. I have several books on how to use Mathematica, and I do not believe any of them provide a reasonably coherent and comprehensive explanation of what a symbol is, and what can be associated with it. I cannot think of a single illustration representing a Mathematica symbol in the way a UML class diagram is used to illustrate the components of a class or data structure. Are there any books that provide such a treatment? [*]Ironically, neither OwnValues nor SubValues appear in the Help Browser index. -- The Mathematica Wiki: http://www.mathematica-users.org/ Math for Comp Sci http://www.ifi.unizh.ch/math/bmwcs/master.html Math for the WWW: http://www.w3.org/Math/