From: Devin Mullins Date: 2005-07-28T14:03:08+09:00 Subject: Re: What's so special about operators, built-in classes and modules? Yukihiro Matsumoto wrote: >I'm sorry that I don't get it. We call it mixin inheritance because >mixin (modules) have some restrictions over classes: > > * no superclass (although including other mixin is allowed) > * no instance > >which make mixin inheritance as it is. Allowing "include" method to >include classes removes above restrictions. Then that's no different >from multiple inheritance, in my opinion. > > OK. It sounds like you're laying down the law and prohibiting a certain course of action because you think it's ugly, not because it's hard to implement clearly and unamiguously. That's fine. I respect that. Good to know. :) >Besides all of them, I don't understand why this issue arise again and >again. > 'Cause it's a mailing list, and we like to complain! Also, I'm new here, so I wasn't around for the last flurry. > _I_ encourage mixin inheritance. It is powerful enough to >solve the problem in single inheritance (sharing code between classes >beyond inheritance line, without copy&paste). > Agreed. > Why people want "real" >multiple inheritance by unifying classes and modules, when Ruby's >mixin inheritance works quite well? Why people want unnecessary >complexity? Just because other languages do? I'm curious. > > My main driver was that the relationship between Module and Class is confusing. Everything else was just intellectual flight-of-fancy, and I apologize if I made it sound otherwise, or if I pissed you off. >Interestingly, a few have complained for the lack of goto in >Ruby. Goto is much more powerful control structure than while, break, >next, etc. We can construct others using goto. I wander why no one >propose to unify them. ...No, Don't. I will refuse. > > Yep. It definitely sounds like you're laying down the law and prohibiting a certain course of action because you think it's ugly. :) Devin ...brownie points if you notice the thing about this email that I don't want you to notice...