In an other thread Steve Davies mentions that Pharo can be a bit overwhelming. Indeed I have had the same feeling.

I was struggling for weeks (not every day, but still) to find out how to change the system to be able to give background color to text.��

As part of my attempt at understanding the code, I ended up looking at Rubric and its Text morphs. I have been working at building a little tool which can help me get an overview of the objects and how the are connected. Not a static code analysis, but a snapshot view.��

What I did was I took a root object, and made the transitive object closure from that object, with the following restrictions:
- Only Rubric, Morphic and Collections are examined, though Strings are excluded
- Only instance variables which has a selector of the same name are included
- The same object only appear once in the diagram, but more than one instance of a class can be present (at different places).

I build on a tool named PlantUML.

When I bring up the morphic halo on a playground and select "inspect morph", and then draw the diagram for that morph, I get this diagram.

Strangely, I find it useful. I use it as a supplement to the inspector.

I hope to be able to pack this tool, and a companion one for generating sequence diagrams based on the execution of a block given as parameter. I see these tools as exploratory tools, not as documentation tools.

Best,

Kasper,