Esteban's ChangeLog week of 22 October 2018

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

Esteban's ChangeLog week of 22 October 2018


This is my weekly ChangeLog, from 22 October 2018 to 28 October 2018.
You can see it in a better format by going here:


22 October 2018:

*    I (finally) finnished couple of PRs for Calypso!
    * [Issue 304](
    * [Issue 335](
    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.