I know morphic is one of the greatest issues Squeak and Pharo have. And I'm tired of the kilometric morph hierarchies with tons of methods that noone uses, and the impossible traceability of the morphic code...
And I'm sure that a lot of people tried it before... And this isn't the highest priority. But I think morphic cleansing should be done. So, while i'm now in bed beacause of a flu, hehe, I want at least remove unused morph classes and unused methods... Or maybe we can separate some things from the core. Of course I will be "spamming" in the list asking for the changes I will do :P. what do you think? Do I open a ticket? Guille _______________________________________________ Pharo-project mailing list [hidden email] http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project |
On Tue, 13 Jul 2010, Guillermo Polito wrote:
> I know morphic is one of the greatest issues Squeak and Pharo have. And I'm > tired of the kilometric morph hierarchies with tons of methods that noone > uses, and the impossible traceability of the morphic code... You can't be sure that a method or class is not used if you only look at the senders or users. Morphic uses a lot of automatic generated selectors combined with #perform:withArguments: (and friends) which makes it very hard to track down senders. Though checking the senders of #asSymbol can help. Levente > > And I'm sure that a lot of people tried it before... And this isn't the > highest priority. But I think morphic cleansing should be done. > > So, while i'm now in bed beacause of a flu, hehe, I want at least remove > unused morph classes and unused methods... Or maybe we can separate some > things from the core. Of course I will be "spamming" in the list asking for > the changes I will do :P. > > what do you think? Do I open a ticket? > > Guille > _______________________________________________ Pharo-project mailing list [hidden email] http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project |
In reply to this post by Guillermo Polito
Hi
I got a flu last week. :) Now how to proceed: step by step :) Start little do it often. So what I suggest is that you go one fix at a time, you send it to the list, open a ticket, people get a chance to argue and we loop million of times. For example - I would like to understand if they are not things to be changed now that we have true bloclosure - for menu opening... like PluggableXXXX and fix that - I would like to have less subclass of StringHolder :) - Something good would be to check the fix Juan did in CUIS for the scrollbars and friends. Yes cleaning morphic is important. > I know morphic is one of the greatest issues Squeak and Pharo have. And I'm tired of the kilometric morph hierarchies with tons of methods that noone uses, and the impossible traceability of the morphic code... > > And I'm sure that a lot of people tried it before... And this isn't the highest priority. But I think morphic cleansing should be done. > > So, while i'm now in bed beacause of a flu, hehe, I want at least remove unused morph classes and unused methods... Or maybe we can separate some things from the core. Of course I will be "spamming" in the list asking for the changes I will do :P. > > what do you think? Do I open a ticket? > > Guille > _______________________________________________ > Pharo-project mailing list > [hidden email] > http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project _______________________________________________ Pharo-project mailing list [hidden email] http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project |
Guille: I developed a couple of tools that may help you.
The first one is a tool to discover the classes that were used for a particular time duration or block. http://www.squeaksource.com/ClaseUseDiscoveryYou should read: http://forum.world.st/ANN-ClaseUseDiscovery-tool-tp1296859p1296859.html On the other hand, you can also try to replace each CompiledMethod of Morphic by a MethodWrapper that just logs its name or something like that. Then you can know which methods were executed. In the dev image 1.1 there is already the package MethodsWrapper from the repository: http://www.squeaksource.com/ObjectMetaTools In the package ObjectMetaTools of the same repository, you have ProtocolCatcher. Check its class comment. Finally, I think a very good idea is to use Adrian Lienchard DTrace integration to the VM: http://forum.world.st/ANN-DTrace-for-Squeak-Pharo-td2173422.html#a2173422 So...what I am saying with all these is that probably, search senders is not enough to clean Mprhic, as Levente said. I would take a dev image, and I would load big projects, like Moose (complete complete), Dr Geo2, etc, and I would use the tools, run all the tests, and check on runtime what is being really used. Good luck Mariano On Tue, Jul 13, 2010 at 9:19 PM, Stéphane Ducasse <[hidden email]> wrote: Hi _______________________________________________ Pharo-project mailing list [hidden email] http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project |
Administrator
|
In reply to this post by Guillermo Polito
Great initiative, I reckon if morphic can be made easier to understand it would encourage more people to contribute code and/or fix bugs. |
Free forum by Nabble | Edit this page |