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