---1077017559-813370389-11143137427345 Content-Type: MULTIPART/MIXED; BOUNDARY="-1077017559-813370389-1114313742=:17345" This message is in MIME format. The first part should be readable text, while the remaining parts are likely unreadable without MIME-aware tools. ---1077017559-813370389-11143137427345 Content-Type: TEXT/PLAIN; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: QUOTED-PRINTABLE On Thu, 21 Apr 2005, ts wrote: > * a class is a module which can use inheritance Module#include qualifies as inheritance, no matter how one may try to hide it under a carpet. A dog with a leg missing is still a dog. It doesn't matter how much the Java religion asserts that multiple inheritance is bad. We merely have to assert that multiple inheritance is good, instead of playing word games like what I've consistently heard in the Ruby community in my five years of hanging around. The attempt to attract Java programmers to Ruby shouldn't have been done by compromising the simplicity of Ruby; instead it should have been done by cult deprogramming. The defining qualities of a Ruby class may be that: 1. a Ruby class is a direct-subclass-of a Ruby class using the "<" notation (except the Object class). 2. the Object class just happens to be the place where .new() is defined; and this is no matter how many classes use undef_method(:new) to forbid instantiation. > - "birth" class which can create instance > - "singleton" class which is always associated with only one object > and no, a "singleton" class is not a "birth" class. Btw, are TrueClass, FalseClass and NilClass considered "birth" or "singleton", and then why would they be like that? ,-o---------o---------o---------o-. ,----. | | The Diagram is the Program (TM) | | ,-o----------------------------o-. `-o-----------------------------o-' | | Mathieu Bouchard (MontrñÂl QC)---' | http://artengine.ca/matju | | | `-o------------------------------' ---1077017559-813370389-11143137427345-- ---1077017559-813370389-11143137427345--