Hello!

This is my weekly ChangeLog, from 22 October 2018 to 28 October 2018.
You can see it in a better format by going here: 
http://log.smallworks.eu/web/search?from=22/10/2018&to=28/10/2018

ChangeLog
=========

22 October 2018:
----------------

*    I (finally) finnished couple of PRs for Calypso!
    
    * [Issue 304](https://github.com/pharo-ide/Calypso/pull/346) 
    * [Issue 335](https://github.com/pharo-ide/Calypso/pull/348) 
    
    This two are the content of my work of last week. It was complicated to 
understand the model behind calypso and that took more time than preview. 
    
    A bit of an explanation: 
    
    1. First one eliminates the extension that takes +Traits+ as if they would 
be superclasses of somekind. 
    While I understand what Denis tried to do here, the premise he took is 
wrong: traits are not a 
    multiple inheritance mechanism (even if they can be used to simulate it), 
traits are a *composition* strategy (and there is a trait composition 
arithmetic that is somekind complex that needs to be 
    taken into account).
    As a result, the price of simulating a multiple-inheritance scenario where 
there is not was complexifying
    the model at levels way higher than desired. Also it was not working 
properly and patching it to make it 
    work was resulting on re-writing all the trait arithmetic at UI level. 
    
    So the right approach here is just to remove. 
    
    And to be clear: I'm not oposed to the existence of a plugin that hides 
methods comming from traits 
    (even if I think is incorrect because once a trait is applied, those 
methods actually 'belong' to the 
    class). But in case you want something like this, it can be implemented in 
a much simpler way by not 
    mixing what a superclass and a trait is.
    
    2. Second PR also eliminates something :) 
    This time I eliminate the inclusion of metaclasses in the extension list 
while displaying a package. 
    Again, I understand what Denis tried to do: to easy the view of which 
classes are extended in the class 
    side and the ones that are extended in instance side. 
    Problem with thid is that it was breaking completely the cognitive model 
the system browser offers, 
    which is already complex enough to add also an exceptional behaviour. 
    Anyway, this list now works as before: if there are extensions classes are 
shown and to see the class side extensions you need to click in class side 
option.
    

cheers! 
Esteban

Reply via email to