Hi,

>> That's why I use Squeak's MessageTrace, it handles this better than
>> anything else in any Smalltalk.  It is a "lightweight" way, in terms
>> of gestures and UI elements, to trace through code without getting
>> lost.  I wish Pharo would consider implementing a tool like this.
>
> Can you explain it? This is the screenshot?
> The top line the sender for ensureSecondaryLinkConfigured
> then see its senders?
> Its self sends?
> Because I want (and I was thinking about that too for long time) something 
> like that.

Yes that is a screenshot.  MessageTrace is just a subclass of the
classic MessageSet which, when the user highlights a chunk of code in
the bottom pane and presses i(m)plementors, rather than opening a new
window or pane, the implementors are listed in the top-half of the
same browser, indented below the currently selected message.

Likewise, when the user selects (s)enders on a message in the upper
pane, it outdents those senders above the selected message.  Multiple
paths of flow can be built.

Since it does not do type-inference, heavily overloaded selectors will
cause many extra senders/implementors to be put into the browser -- so
to handle this the UI merely allows the user to easily trim unwanted
messages with a couple of simple gestures (swipe select + Command-d).

The result is a single window that encapsulates the method flow of a
single piece of functionality (e.g., a "Trace") that the user can
comprehend because of the way it is presented.

Try it out in Squeak is the best way to appreciate it.  The code for
it is not complicated I'm sure it could be adapted into Pharo..

Reply via email to