Hi,

So... this is what I made las days (as a conclusion of many days before):

The old class organizer was a mess. Basically, it considered all protocols as 
strings, and for worst it was arranging them into a flat array. 
While the array stuff is just an internal problem (objects outside doesn't know 
how are they managed, and that's good), having protocols-as-strings is 
essentially bad (no need for explanations about that). 

The new class organizer just do what is more or less obvious:

1) replaces string protocols for first class instances (now instances of 
Protocol). 
2) internally, manages protocols and methods in protocols in a much better and 
fashion way. 

(btw, the implementation was made by Ben, thanks!)

the real important part is the point 1. Now we can start to assign real 
behavior to Protocol, For instance, I will create an ExtensionProcol which will 
contain a direct pointer to it's real package. That means that we do not need 
weird computations to get a method extension package (and when the tools allows 
us, we could get rid off the *Blah). I would like also to be able to have 
"composite" protocols (like "private"+"accesing"), etc.
It will allow a refactor of current RPackage implementation, allowing us to 
simplify the SystemAnnounce mechanism (and speeding up monticello, if my 
calculous are fine). 

And like this, there are still a huge room for improvement, I hope many that I 
do not even thought about :) 

cheers, 
Esteban

Reply via email to