class Foo extends Object with Bar {
//implementation
}
class Foo with Bar{
//implementation
}
True, its part of the extends clause, or at least i think it is. But theres no meaning, in extending Object as all objects already extend Object correct?
> I agree to what you are saying, as it is technically correct. That's why i'm not asking to change the specification, but for a little bit of syntactic sugar.
And I ask: does this sugar make sense? People are already confused by the syntax, and I believe that this sugar would make the syntax even more confusing.
LT
Does the same hold, if you are mixing in more than 1 class?
> Are people confused with the current syntax? And if so, which part is it that makes it confusing?
I believe that it's the fact that with M1, M2 looks exactly like implements I1, I2, but it works differently. While the implements clause modifies the class declaration, the with clause modifies the extends clause.
Also, I'm stupid. I've realized that extends Object with M1 is equal to extends M1 a long time ago, but I always forget about it when discussing mixins. Luckily, we have Florian :-)
LT