[Pharo-project] support for flattening-out traits for export?

Stéphane Ducasse stephane.ducasse at inria.fr
Tue Jun 7 10:18:36 EDT 2011


Just a meta question.....
So what will people do when we will add slots? Leave/cry and complain as usual? When Common lisp got slots since 1990 and the world imagination got killed by Java, it makes me think. 
May be we are not a community to invent something after all. Especially if we are not ready because the last time something serious was new in Smalltalk it was back in 1984. 

Mariano this is not against you but in general. Pharo is not about maintaining the past. 
This notion of compatibility is doomed, because first VW does not ask pharo to add a feature in the language (like these wonderful namespaces or XML code format)
Second, this means that nobody can evolve. While we have the tools to manage difference. 
So of course traits could be better but this is not by being negative on attempt to move our wonderful old community that we will make progress. 
Or may be the best way is just to tell us that we should better invest in Javascript and we will all look far cooler in fact. 

Stef



On Jun 7, 2011, at 3:10 PM, Mariano Martinez Peck wrote:

> Thanks Adrian. 
> 
> BTW, there is no way to fileout a whole Monticello package?  it seems I have to manually do a fileout of each category, not package :(
> 
> Eliot: we were discussing today with Martin and maybe we will get rid of Traits. The truth is that in our case we use them mostly for tests and we think that with a good refactor we can avoid using them without duplicating too much code. In fact, we suffer several problems with traits and the integration with tools like Monticello. And even more it makes porting more complicated. We cannot code that much now because we are preparing a paper for ESUG but we will give it a try.
> 
> Taking into account all your knowledge and experience in general and with Parcels, we will LOVE to listen your feedback for Fuel. 
> 
> Cheers
> 
> Mariano
> 
> 
> On Tue, Jun 7, 2011 at 12:29 PM, Adrian Lienhard <adi at netstyle.ch> wrote:
> IIRC this can be achieved with two small changes:
> 
> - Comment out the line "method isLocalSelector" from PackageInfo>>methods. This will flatten the traits into the classes, i.e., make all methods of a class being stored even if they come from a trait.
> 
> - In addition you probably need to change PackageInfo>>classes to filter out all traits (like  ... reject: #isTrait).
> 
> HTH,
> Adrian
> 
> On Jun 7, 2011, at 08:11 , Mariano Martinez Peck wrote:
> 
> > On Tue, Jun 7, 2011 at 12:47 AM, Eliot Miranda <eliot.miranda at gmail.com>wrote:
> >
> >> Hi All,
> >>
> >>    if I want to export a package (Fuel!!) to a dialect without traits is
> >> there anything to help me remove the trait info and just file-out the
> >> composed code?
> >>
> >>
> > Hi Eliot. Traits are only used in Fuel for testing. And really used for
> > testing methods for classes and traits (not the basic methods). So, of
> > course, you can directly fileout the Fuel package only without traits.
> >
> > One of the things I always wanted is what you are really asking, a way to
> > fileout forgetting traits, just letting those methods directly in the
> > classes. But I have no idea if that's possible.
> >
> > Finally, I was never really convinced about the Traits usage in Fuel. Mostly
> > because some tools seem not to be happy with them...We should check how much
> > difficult and what we loose removing them now....
> >
> > Cheers
> >
> > --
> > Mariano
> > http://marianopeck.wordpress.com
> 
> 
> 
> 
> 
> -- 
> Mariano
> http://marianopeck.wordpress.com
> 





More information about the Pharo-dev mailing list