[ANN] DynamicProtocols version 36

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

[ANN] DynamicProtocols version 36

Damien Cassou-3
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

Reply | Threaded
Open this post in threaded view
|

Re: [ANN] DynamicProtocols version 36

Serge Stinckwich-4
Damien Cassou a écrit :

> 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)
>

I dunno if this is possible : recently visited methods

Maybe you could reimplement the --- all --- categories as a dynamic
category ?



--                                                         oooo
Dr. Serge Stinckwich                                     OOOOOOOO
Université de Caen>CNRS UMR 6072>GREYC>MAD               OOESUGOO
http://purl.org/net/SergeStinckwich                       oooooo
Smalltalkers do: [:it | All with: Class, (And love: it)]   \  /
                                                             ##