I have just released DebuggerProtocolPrompt, a Visualworks Smalltalk enhancement that prompts for a method protocol when defining a method from the debugger.

Smalltalk is known for its development tools. It is common to “code in the debugger” in Smalltalk, where you write a unit test that sends a message that is not yet understood by the receiver. In Visualworks, the debugger that pops up on the MessageNotUnderstood gives an option to define the missing method. This makes for a very fast, interactive development cycle.

In Visualworks, any methods defined this way get placed in the “As yet uncategorized” method protocol, which is not very helpful. I found that I often forgot to go back and put the methods in proper protocols when I was done, so I wanted a tool to help me remember. DebuggerProtocolPrompt is that tool.

When defining a new method in the debugger, DebuggerProtocolPrompt looks for other implementers of the same selector. If all of them are in the same protocol, then DebuggerProtocolPrompt places the new method in that same protocol automatically. Otherwise, it prompts you to select the desired method protocol.

DebuggerProtocolPrompt was originally written by my colleagues Russel Hill and David Alford at STIC 2012. I tweaked it a bit, and they’ve graciously allowed me to take over maintenance of the code and release it as open source.

DebuggerProtocolPrompt’s primary home is the Cincom Public Store Repository. Check there for the latest version. I’ve also put a snapshot of the current version of DebuggerProtocolPrompt on GitHub. I’ve also submitted it for inclusion as a contributed package in the forthcoming Visualworks 7.10 release.

DebuggerProtocolPrompt was developed in VW 7.9.1, but is intended to be compatible with VW 7.7 and later.

DebuggerProtocolPrompt is licensed under the MIT license.