Re: [Pharo-dev] Old ClassBuilder remove!

2013-11-25 Thread Martin Dias
Mmm... if slots support annotations, maybe the user can tag an instance variable with a ignore tag. At this moment, the user can override #fuelIgnoredInstanceVariableNames to do that, answering a list of variable names. Martín On Sat, Nov 23, 2013 at 5:46 PM, Stéphane Ducasse

Re: [Pharo-dev] Old ClassBuilder remove!

2013-11-25 Thread Martin Dias
With the object's format reified in Layouts, we could rewrite a method like this by a double-dispatch: Object fuelAccept: aGeneralMapper Be careful because the order is important. For example, weak are also variable, but we need that weak objects send #visitWeakObject: and not

Re: [Pharo-dev] Old ClassBuilder remove!

2013-11-23 Thread Stéphane Ducasse
On Nov 21, 2013, at 9:02 AM, Marcus Denker marcus.den...@inria.fr wrote: Hi, Yesterday Camille did the change to finally remove the old class builder! (just a removal + a small change to NativeBoost to use the new class builder to create anonymous classes). This means - 1000

Re: [Pharo-dev] Old ClassBuilder remove!

2013-11-23 Thread Stéphane Ducasse
On Nov 21, 2013, at 2:24 PM, Camille Teruel camille.ter...@gmail.com wrote: On 21 nov. 2013, at 13:44, kilon alios kilon.al...@gmail.com wrote: any links why newcomers like me should be impressed ? Whats the advantages ? That's just cleaning. No this is more than that. Classbuilder was

Re: [Pharo-dev] Old ClassBuilder remove!

2013-11-23 Thread Stéphane Ducasse
+ 1000 I want relationship using Slot :) Stef On Nov 21, 2013, at 2:45 PM, Tudor Girba tu...@tudorgirba.com wrote: Hi, This is not *just cleaning*! You might perceive it as such being so involved in it. You guys replaced something ugly with something based on a sound explicit model.

Re: [Pharo-dev] Old ClassBuilder remove!

2013-11-23 Thread Stéphane Ducasse
On Nov 21, 2013, at 2:49 PM, Tudor Girba tu...@tudorgirba.com wrote: And then, imagine what this will do for tools. Given that the class instance will know what kind of slots are around, the tools can help you manage them. You will be able to build your class and then simply say that you

Re: [Pharo-dev] Old ClassBuilder remove!

2013-11-23 Thread Tudor Girba
Hi Chris, The dictionary had to be added in the Morphic class by whoever developed Morphic so that you can extend it. That means that they had to predict that you will extend it. Imagine that they wouldn't have predicted that. We would simply not be able to extend Morphic. Contrast this

Re: [Pharo-dev] Old ClassBuilder remove!

2013-11-23 Thread Stéphane Ducasse
On Nov 21, 2013, at 3:21 PM, Esteban A. Maringolo emaring...@gmail.com wrote: I don't fully see what are the immediate benefits. But as usually happen when you replace something old, limited and not so well designed by something better designed from the ground up I guess it will open Pharo

Re: [Pharo-dev] Old ClassBuilder remove!

2013-11-23 Thread Stéphane Ducasse
sweet queries :) Then we can now have more compact versions of FreeTypeSettings LabelMorph MorphTreeNodeMorph MorphTreeListManager ThemeSettings MultistateButtonMorph PharoUserPermissions SimpleHierarchicalListMorph Nautilus class SpecTreeColumn PluggableIconListMorph MorphTreeMorph

Re: [Pharo-dev] Old ClassBuilder remove!

2013-11-23 Thread Stéphane Ducasse
How does this affect serialization / materialization engines like Fuel? Not now We will have to work to make the compiler smarter and define special Slot class. On 21 nov. 2013, at 13:44, kilon alios kilon.al...@gmail.com wrote: any links why newcomers like me should be impressed ? Whats

Re: [Pharo-dev] Old ClassBuilder remove!

2013-11-22 Thread Stephan Eggermont
Nice! kilon wrote: any links why newcomers like me should be impressed ? Whats the advantages ? Then we can now have more compact versions of FreeTypeSettings LabelMorph MorphTreeNodeMorph MorphTreeListManager ThemeSettings MultistateButtonMorph PharoUserPermissions

Re: [Pharo-dev] Old ClassBuilder remove!

2013-11-22 Thread Camillo Bruni
On 2013-11-22, at 11:56, Stephan Eggermont step...@stack.nl wrote: Nice! kilon wrote: any links why newcomers like me should be impressed ? Whats the advantages ? Then we can now have more compact versions of FreeTypeSettings LabelMorph MorphTreeNodeMorph MorphTreeListManager

Re: [Pharo-dev] Old ClassBuilder remove!

2013-11-22 Thread Stephan Eggermont
Camillo wrote: I love these scripts :P.. maybe you should make gists [1] out of them :) Good idea https://gist.github.com/StephanEggermont/7598946

Re: [Pharo-dev] Old ClassBuilder remove!

2013-11-22 Thread Nicolas Cellier
It has to be more simple than that... Why not searching for allReferences to true and false, and gather the class of referents? This would also remove the limitation of first 10 instances... 2013/11/22 Stephan Eggermont step...@stack.nl Camillo wrote: I love these scripts :P.. maybe you

Re: [Pharo-dev] Old ClassBuilder remove!

2013-11-22 Thread Stephan Eggermont
Nicolas wrote: It has to be more simple than that… Probably. I don’t do this often enough. Why not searching for allReferences to true and false, and gather the class of referents? How is that going to give me the values of the instVars? This would also remove the limitation of first 10

Re: [Pharo-dev] Old ClassBuilder remove!

2013-11-22 Thread Chris Muller
How does this affect serialization / materialization engines like Fuel? On Thu, Nov 21, 2013 at 7:24 AM, Camille Teruel camille.ter...@gmail.com wrote: On 21 nov. 2013, at 13:44, kilon alios kilon.al...@gmail.com wrote: any links why newcomers like me should be impressed ? Whats the

Re: [Pharo-dev] Old ClassBuilder remove!

2013-11-22 Thread Chris Muller
Just two examples: - Morphic uses a dictionary to allow extensions to add attributes to the base class. This is closed-world-based-assumption thinking because I have to know in advance what parts will be extended by someone else. This should be easily changeable with slots given that slots

Re: [Pharo-dev] Old ClassBuilder remove!

2013-11-22 Thread Nicolas Cellier
(true pointersTo collect: #class as: Set) intersection: (false pointersTo collect: #class as: Set) et voila 2013/11/22 Stephan Eggermont step...@stack.nl Nicolas wrote: It has to be more simple than that… Probably. I don’t do this often enough. Why not searching for allReferences to true

Re: [Pharo-dev] Old ClassBuilder remove!

2013-11-22 Thread Nicolas Cellier
OK, got it, nothing tells that they come from same slot... At least you have a pre-filter. 2013/11/22 Nicolas Cellier nicolas.cellier.aka.n...@gmail.com (true pointersTo collect: #class as: Set) intersection: (false pointersTo collect: #class as: Set) et voila 2013/11/22 Stephan

Re: [Pharo-dev] Old ClassBuilder remove!

2013-11-22 Thread Camille Teruel
On 22 nov. 2013, at 21:03, Chris Muller asquea...@gmail.com wrote: How does this affect serialization / materialization engines like Fuel? That's a good question Chris! My impression is that serialization / materialization should not trigger custom read / write slot logic. Fuel should

Re: [Pharo-dev] Old ClassBuilder remove!

2013-11-21 Thread Martin Dias
wow, impressive! On Thu, Nov 21, 2013 at 9:02 AM, Marcus Denker marcus.den...@inria.frwrote: Hi, Yesterday Camille did the change to finally remove the old class builder! (just a removal + a small change to NativeBoost to use the new class builder to create anonymous classes). This means

Re: [Pharo-dev] Old ClassBuilder remove!

2013-11-21 Thread Sean P. DeNigris
Tudor Girba-2 wrote Triple impressive! This is another sample of an apparently tiny change that actually has deep impact on the future of our beloved environment. Yes - Cheers, Sean -- View this message in context:

Re: [Pharo-dev] Old ClassBuilder remove!

2013-11-21 Thread Camille Teruel
On 21 nov. 2013, at 14:45, Tudor Girba tu...@tudorgirba.com wrote: Hi, This is not *just cleaning*! I wasn't talking about the creation of the slot model nor its integration in the image, but about killing the old class builder, a really enjoyable moment BTW :) You might perceive it as

Re: [Pharo-dev] Old ClassBuilder remove!

2013-11-21 Thread Tudor Girba
Hi, This is not *just cleaning*! You might perceive it as such being so involved in it. You guys replaced something ugly with something based on a sound explicit model. When you do this at such a core level, the possibilities explode two layers on top. You might just do not see it, yet :). Just

Re: [Pharo-dev] Old ClassBuilder remove!

2013-11-21 Thread Sean P. DeNigris
kilon alios wrote any links why newcomers like me should be impressed ? Whats the advantages? Great question! As Camille mentioned, the email is more about cleaning. As a new user, this will likely effect you in two ways. The new clean replacement code: 1) will empower members of our community

Re: [Pharo-dev] Old ClassBuilder remove!

2013-11-21 Thread p...@highoctane.be
facking awesome ! On Thursday, November 21, 2013, Camille Teruel wrote: On 21 nov. 2013, at 13:44, kilon alios kilon.al...@gmail.comjavascript:_e({}, 'cvml', 'kilon.al...@gmail.com'); wrote: A any links why newcomers like me should be impressed ? Whats the advantages ? That's just

Re: [Pharo-dev] Old ClassBuilder remove!

2013-11-21 Thread Luc Fabresse
yes thanks a lot! I like cleaning. #Luc 2013/11/21 Camille Teruel camille.ter...@gmail.com On 21 nov. 2013, at 13:44, kilon alios kilon.al...@gmail.com wrote: any links why newcomers like me should be impressed ? Whats the advantages ? That's just cleaning. The old class builder was

Re: [Pharo-dev] Old ClassBuilder remove!

2013-11-21 Thread kilon alios
any links why newcomers like me should be impressed ? Whats the advantages ? On Thu, Nov 21, 2013 at 2:21 PM, Tudor Girba tu...@tudorgirba.com wrote: Triple impressive! This is another sample of an apparently tiny change that actually has deep impact on the future of our beloved environment.

Re: [Pharo-dev] Old ClassBuilder remove!

2013-11-21 Thread Esteban A. Maringolo
I don't fully see what are the immediate benefits. But as usually happen when you replace something old, limited and not so well designed by something better designed from the ground up I guess it will open Pharo to features not yet thought of. Does the new debugger have something better than