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

Stéphane Ducasse stephane.ducasse at inria.fr
Tue Jun 7 16:05:51 EDT 2011


I wrote the following before reading your mail....

Hi guys

just to make sure that everybody understand our point of view about traits.
I was thinking that we could remove them. Now we have more important point to do and 
traits can be useful from time to time (but even there we are not bound to them).
Now what would be better is:
	- can we have a simpler/better trait model?
	- can we plug traits in a kernel?
	- can we control the induced complexity?


still my point is valid. 

>> Just a meta question.....
> What about real questions: 
> - are Traits used these days
> - in which packages and why
> - how is the adoption rate
> I havent much used them by myself (mostly due to the lack of
> time to dig into it) but I would like to learn about the current
> state of Traits (is it used, maintained, usable).

it is used, it is maintained and it is stable. 

> And yes - we can add lots of (language) features. But we 
> should also discuss/measure/find out if they are usefull. 
> Some of them help us moving forward others may stand in our 
> way. And "Keep it simple" is always a good rule ... 

torsten, did you see all the work we did about traits?
Adrian rewrote the implementation from scratch it took him around 6 months.
Then Damien did a real reimplementation of stream. 

> One great thing in languages like Smalltalk is that
> you can care about the problem ... and not so much about
> satisfying the compiler or knowing about the 10 most recent
> language features nailed to the language to circumvent problems
> from early language design.
> I think we should be more serious ...

I'm really serious. I'm not doing pharo to have an old Smalltalk-80 languages. 

> Marianos may have 
> some valid points we should discuss. So let him tell us
> why he avoided Traits and what are the issues with tools.
> Let's listen and learn. 
>> "he last time something serious was new in Smalltalk it was back in 1984"
>> "got killed by Java" 
>> "Pharo is not about maintaining the past."
> Sorry Stef, but to me these are phrases and not releated to
> the question about the usefullness of Traits.

Indeed, but what I see is that a lot of people spent time on traits. 

> Language features were not the reasons why Java took up. 

certainly not so what? 

> Back at the time it was small, free, multiplatform and available in 
> the web  (applets) when the web took up and no radical change for 
> most programmers. 
> In fact languages features are discussed these days for Java
> and we should discuss them too...


> Especially since Smalltalk is not a programming language ... more
> a dynamic object system on top of a VM with a language built in.
> Which path would we like to take with Pharo? Adding more language 
> features to be comparable to other languages? Or even become a 
> multilanguage platform/embed new languages similar to JVM and 
> .NET VM (maybe with Helvetia)? What are our goals here?

We are not discussing about features. We want to have first class instance variables
because early smalltalkers totally missed their power. We will probably work on a good module system 
and points for security. 

for the vision watch the barcelona video, listen the podcast of james robertson or wait for the next esug.
Sorry I do not have the time for that now. 


More information about the Pharo-dev mailing list