[squeak-dev] The Inbox: Traits-pre.307.mcz

Levente Uzonyi leves at elte.hu
Mon Nov 23 16:38:57 UTC 2015


On Mon, 23 Nov 2015, Frank Shearar wrote:

> On 20 November 2015 at 18:40, tim Rowledge <tim at rowledge.org> wrote:
>> Should we keep Traits? It was a neat idea that I was happy to support but it got left unfinished. Where are tools to develop & manage Traits? Where is the usage?
>>
>> Unless there is a compelling reason - and subsequent effort to fill out support - I suggest we should remove them. Along with Islands. And Universes. And probably Environments too, since that has stalled without becoming a proper part of the system.
>
> There's definitely a pattern there: someone has a great idea for a
> fairly advanced capability, heroically tries to do all the work solo,
> or with minimal help from the community, burns out and the work never
> gets finished.
>
> Traits, or things close enough to traits that you end up splitting
> hairs to tell them apart, are a core feature of so many languages
> nowadays (Ruby, Newspeak, Scala, Perl 6, Rust, off the top of my
> head), while we let the idea die on the vine, for want of tooling

Traits are complex: they introduce a new kind of Behavior, one which 
doesn't do anything on its own. If Traits were all Classes and all Classes 
were Traits, the whole implementation would probably be a lot simpler.
Traits are weak: they only provide a way to share stateless methods 
between classes (methods which can't reference variables). If you Traits 
were Classes, you could share stateful methods by providing a mapping for 
variables, the same way you can do it for methods.

> support. And I'm sure Environments will, too.

Environments is at a point where it needs complex things to be found out 
to move forward. The current implementation is incomplete and broken. The 
reason why we don't face the problems (so often) is that we only use one 
environment.

Levente

>
> Sure, if it's not providing value, and no one's willing to do the
> work, just kill the thing and be done. I'd rather see people pitch in
> and help _make_ the dang thing a proper part of the system. ("Thing"
> here applies mostly to Environments, but Islands and Traits too.) But
> I'm also not going to run around pointing fingers: I'm too burned out
> to do anything to help, so I'll just shut up now.
>
> frank
>
>> tim
>> --
>> tim Rowledge; tim at rowledge.org; http://www.rowledge.org/tim
>> Strange OpCodes: IG: Insert Garbage
>>
>>
>>
>
>


More information about the Squeak-dev mailing list