If you're as excited about mixins as I am, you'll be happy. This week's language meeting was all about them. I tried to keep up as best as I could this week, but I'm not much of a secretary. Any omissions or mistakes are all my fault.
Lots of people were in this meeting. Except Lars, who is apparently in Austria with Katy Perry. I'm guessing that's a joke, but you can never tell...
Kasper likes the proposal but discussed some syntax changes with Peter.
They are discussing VM implementation since Ivan [VM lead] is in Aarhus [Kasper and Lars' office]. Does the mixin have to go in the superclass chain?
Gilad: There is well-defined semantic model and it has been implemented before.
Kasper: Where is it being in superclass chain visible? Reflection?
Gilad: In is checks too. You could also see it in super calls, but the current proposal says you can't have those.
Kasper: But the class mixing it in can have super calls.
Gilad: Yes, and there you should see mixin methods.
Kasper: Would a super in a class that extends a mixin application hit the superclass or the mixed in methods?
Gilad: Would hit superclass, which is mixed in methods.
Kasper: If you want to override a mixed in method...
Gilad: Yes, need to have same rules for how an override works.
Ivan: I thought a super call skips mixins and goes straight to class in extends clause.
Gilad: That's not the original intent. "Goes to superclass" means "go to the superclass which *is* the compound mixin application class".
Ivan: I thought it was more complicated then because you have to skip these other artificially created superclasses.
[More discussion here, the end result of which, I think is that this is easier to implement than Ivan originally thought.]
Kasper: Is it OK to canonicalize mixin applications?
Ivan: Is it legal to canonicalize but not forced?
Ivan is worried about class explosion. Gilad says he hasn't seen that in other languages.
I pointed out that we're doing more code generation like in web components, so there may be more artifically generated classes and mixins.
Kasper: I'm not too worried about canonicalization. It probably wouldn't be a breaking change if we changed it.
Ivan: I'd be more comfortable if it allowed but did not mandate it.
Kasper: The next step from my POV is agreeing on syntax.