On Mon, 23 Nov 2015, Frank Shearar wrote:
On 20 November 2015 at 18:40, tim Rowledge tim@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@rowledge.org; http://www.rowledge.org/tim Strange OpCodes: IG: Insert Garbage