[ANN] DynamicProtocols version 36

Damien Cassou damien.cassou at laposte.net
Fri Sep 22 15:16:32 UTC 2006


Hi,

I've just released a new version of DynamicProtocols. A description of 
DynamicProtocols is written at the end of the mail.

If you already have DynamicProtocols in your image, you can update using 
Monticello and executing the following two lines:

DynamicProtocols invalidateCache.
DynamicProtocols initializePreferences.


Changes from 28:
----------------

- Required protocol has been added (protocol showing all the methods 
that you need to implement for your class to be concrete)

- Protocols are notified when they are activated by the user (through 
the preference browser) so that they can invalidate their cache.

- Lots of comments

- Change the protocol 'HaltUsage' to 'Debugging' because it now filters 
methods with references to Transcript

- Cache is much more intelligent: each protocol can decide what to do 
with his cache when a method is changed, removed or added. No need to 
invalidate all the class in every cases.

- The notifier will #tearDown when unloaded



Future work:
------------

- Add new protocols (give me ideas please)


Description:
------------

A dynamic protocol is a category (displayed in the 3rd pane of your
browser) whose content is computed dynamically based on the currently
selected class. If a dynamic protocol is empty then it is not shown.

This system is based on an idea of Nathanael Shärli and Andrew P. Black
(see 'A Browser For Incremental Programming')

Here is a small list of possible dynamic protocols:

- HaltUsage: displays all methods containing a call to #halt
- Override: contains methods that are defined in the superclasses and
redefined in the current class
- RecentlyModified, SuperSend...

-- 
Damien Cassou



More information about the Squeak-dev mailing list