[#1338] 1.8.0: possible socket problem with mswin32 builds — Jos Backus <jos@...>
Fyi: I tried the following command with two Ruby distributions on Windows 2003
5 messages
2003/08/05
[#1342] SEGV in GC under Linux — Dave Thomas <dave@...>
A while back I was getting double free()s reported on my MAC box when
5 messages
2003/08/05
[#1364] Broken REXML in Ruby 1.8 — Alexander Bokovoy <a.bokovoy@...>
Greetings!
1 message
2003/08/06
[#1378] differences between Module and Class ? — Mathieu Bouchard <matju@...>
25 messages
2003/08/11
[#1387] Re: differences between Module and Class ?
— matz@... (Yukihiro Matsumoto)
2003/08/12
Hi,
[#1442] Re: differences between Module and Class ?
— Mathieu Bouchard <matju@...>
2003/08/21
[#1452] Re: differences between Module and Class ?
— matz@... (Yukihiro Matsumoto)
2003/08/22
Hi,
[#1469] Re: differences between Module and Class ?
— Mathieu Bouchard <matju@...>
2003/08/23
[#1470] Re: differences between Module and Class ?
— matz@... (Yukihiro Matsumoto)
2003/08/24
Hi,
[#1472] Re: differences between Module and Class ?
— Mathieu Bouchard <matju@...>
2003/08/24
[#1444] Re: differences between Module and Class ?
— ts <decoux@...>
2003/08/21
>>>>> "M" == Mathieu Bouchard <matju@sympatico.ca> writes:
[#1381] proc/block with return — Mathieu Bouchard <matju@...>
9 messages
2003/08/11
[#1394] Std lib and updating PickAxe (was Re: proc/block with return) — "Gavin Sinclair" <gsinclair@...>
> [Dave wrote:]
5 messages
2003/08/13
[#1400] subclassing Structs — Eugene Scripnik <Eugene.Scripnik@...>
I'm trying to create class which behaves as struct (almost) and has some
5 messages
2003/08/13
[#1406] _id2ref bug? — Ryan Pavlik <rpav@...>
While debugging some caching code, I've come across a segfault related
22 messages
2003/08/14
[#1407] Re: _id2ref bug?
— matz@... (Yukihiro Matsumoto)
2003/08/14
Hi,
[#1413] Re: _id2ref bug? (REPRODUCED, short)
— Ryan Pavlik <rpav@...>
2003/08/14
On Fri, 15 Aug 2003 01:57:18 +0900
[#1415] Re: _id2ref bug? (REPRODUCED, short)
— matz@... (Yukihiro Matsumoto)
2003/08/15
Hi,
[#1416] Re: _id2ref bug? (another break)
— Ryan Pavlik <rpav@...>
2003/08/15
On Fri, 15 Aug 2003 09:21:39 +0900
[#1417] Re: _id2ref bug? (another break)
— nobu.nokada@...
2003/08/15
Hi,
[#1418] Re: _id2ref bug? (another break)
— Ryan Pavlik <rpav@...>
2003/08/15
On Fri, 15 Aug 2003 12:35:32 +0900
[#1424] Re: _id2ref bug? (another break)
— ts <decoux@...>
2003/08/15
>>>>> "n" == nobu nokada <nobu.nokada@softhome.net> writes:
[#1447] ruby-mode.el — Ryan Pavlik <rpav@...>
Attached is a patch for ruby-mode.el that adds font hilighting for
7 messages
2003/08/21
[#1450] Re: [PATCH] ruby-mode.el
— Ryan Pavlik <rpav@...>
2003/08/21
Crud, my mail has been slow, and I just got this back, but I realize I
[#1454] NODE_DSTR and NODE_EVSTR? — Robert Feldt <feldt@...>
How are "dynamic" strings represented internally?
7 messages
2003/08/22
Re: differences between Module and Class ?
From:
Mathieu Bouchard <matju@...>
Date:
2003-08-24 17:05:02 UTC
List:
ruby-core #1472
On Sun, 24 Aug 2003, Yukihiro Matsumoto wrote: > The primary inheritance is inheritance to form class tree. It's > inheritance in single inheritance. The auxiliary inheritance is what > we call mix-in. Despite my previous statement, the auxiliary > inheritance can be "is-a" relation. This combination is indeed a > restricted multiple inheritance. By this restriction, we won't have > diamond inheritance problem, module A; end module B; include A; end module C; include A; end class D; include C,B; end This is a diamond inheritance pattern. Both Ruby and LISP enforce what is called "virtual inheritance" by making the instance variables uniquely identified by a [receiver,symbol] pair, so that two perspectives D<C<A and D<B<A by which A may be reached through D, still access the same data, therefore there is no difference between those two perspectives, therefore it makes sense to remove the duplication and have A's methods appear once in the call chain. Note that this way to deal with inheritance occurs both in a Class/Module system and a Class-only system. In the diamond inheritance problem, I can't see which part is more dealt with, solved, or avoided, in your system, than in LISP's system. I see no difference. > nor confusion by complicated class relation network, Instead you can have confusion by complicated module relation network, and then confusion by not knowing which construct to choose. > I think this distinction help good design of class hierarchy. I can't really confirm that. > So, by removing this restriction, what can we buy? No restriction? > Fine, but it's not what _I_ want to buy. What else? I have listed a few reasons in [ruby-core:1448]. However I can't dig you magically powerful arguments. ________________________________________________________________ Mathieu Bouchard http://artengine.ca/matju