[#16113] Strange idea... exporting from a scope — "Hal E. Fulton" <hal9000@...>

Hello...

33 messages 2001/06/01

[#16364] Re: Garbage Collection? — Michael Davis <mdavis@...>

Windows 2000 and linux (RedHat 6.2). I have run these tests on both OSs.

12 messages 2001/06/09

[#16400] Symbolic Computation III — Mathieu Bouchard <matju@...>

14 messages 2001/06/11

[#16502] Playing with Ruby Syntax (was: Initial thoughts about Ruby From a Smalltalk Programmer) — jweirich@...

Michael> Hi Everyone, I have to say I'm utterly fascinated by Ruby

9 messages 2001/06/15

[#16661] Problem running irb with Ruby 1.6.4 under FreeBSD 4.0 — Bob Alexander <balexander@...>

I've installed Ruby 1.6.4 on a FreeBSD 4.0 machine, and get the

11 messages 2001/06/20

[#16686] opening db files made by apache dbmmanage — Fritz Heinrichmeyer <fritz.heinrichmeyer@...>

14 messages 2001/06/21

[#16801] rb_define_class() vs Class.new() — Kero van Gelder <kero@...4050.upc-d.chello.nl>

Hi,

18 messages 2001/06/23
[#16802] Re: rb_define_class() vs Class.new() — ts <decoux@...> 2001/06/23

>>>>> "K" == Kero van Gelder <kero@d4050.upc-d.chello.nl> writes:

[#16841] RE: national characters is strings — "Aleksei Guzev" <aleksei.guzev@...>

Next week I'll try to rebuild Ruby with Unicode strings. But it would be

15 messages 2001/06/25
[#16842] Re: national characters is strings — matz@... (Yukihiro Matsumoto) 2001/06/25

Hi,

[#16843] Re: national characters is strings — "Aleksei Guzev" <aleksei.guzev@...> 2001/06/25

That's good enough. But I'm afraid this could ( not would ) cause string

[#16868] Something strange with Ruby's inheritance mechanism — Eric Jacoboni <jaco@...>

As Ruby beginner, i try some "canonical" OO scripts. Doing so, I've

14 messages 2001/06/25
[#16873] RE: Something strange with Ruby's inheritance mechanism — "Aleksei Guzev" <aleksei.guzev@...> 2001/06/26

[#16879] Re: Something strange with Ruby's inheritance mechanism — Mathieu Bouchard <matju@...> 2001/06/26

On Tue, 26 Jun 2001, Aleksei Guzev wrote:

[#16869] Something strange with Ruby's inheritance mechanism — Eric Jacoboni <jaco@...>

As Ruby beginner, i try some "canonical" OO scripts. Doing so, I've

12 messages 2001/06/25

[#16881] — "Aleksei Guzev" <aleksei.guzev@...>

32 messages 2001/06/26
[#16916] Re: Method overloading (option) Was: Re: — "Wayne Blair" <wayne.blair@...> 2001/06/26

[#16920] Re: Method overloading (option) Was: Re: — matz@... (Yukihiro Matsumoto) 2001/06/26

Hi,

[#16888] finalizers, destructors and whatnot — "David Leal" <david@...>

Hi all,

16 messages 2001/06/26

[#17037] keeping an Exception object alive — David Alan Black <dblack@...>

Hello --

19 messages 2001/06/28
[#17055] Re: keeping an Exception object alive — matz@... (Yukihiro Matsumoto) 2001/06/29

Hi,

[#17066] RCR: Exception methods (was: Re: Re: keeping an Exception object alive) — David Alan Black <dblack@...> 2001/06/29

Hello --

[#17076] Re: RCR: Exception methods (was: Re: Re: keeping an Exception object alive) — matz@... (Yukihiro Matsumoto) 2001/06/29

Hi,

[#17079] Re: RCR: Exception methods (was: Re: Re: keeping an Exception object alive) — David Alan Black <dblack@...> 2001/06/29

Hello --

[#17138] Re: RCR: Exception methods (was: Re: Re: keeping an Exception object alive) — matz@... (Yukihiro Matsumoto) 2001/07/02

Hi,

[#17141] Re: RCR: Exception methods (was: Re: Re: keeping an Exception object alive) — David Alan Black <dblack@...> 2001/07/02

Hello --

[#17142] Re: RCR: Exception methods (was: Re: Re: keeping an Exception object alive) — ts <decoux@...> 2001/07/02

>>>>> "D" == David Alan Black <dblack@candle.superlink.net> writes:

[ruby-talk:16880] RE: Something strange with Ruby's inheritance mechanism

From: "Aleksei Guzev" <aleksei.guzev@...>
Date: 2001-06-26 06:55:37 UTC
List: ruby-talk #16880

# -----Original Message-----
# From: Mathieu Bouchard [mailto:matju@sympatico.ca] 
# Sent: 26 ???? 2001 ?. 12:14
# To: Aleksei Guzev
# Cc: ruby-talk ML
# Subject: Re: [ruby-talk:16873] RE: Something strange with 
# Ruby's inheritance mechanism
# 
# 
# On Tue, 26 Jun 2001, Aleksei Guzev wrote:
# > Every strong-typed language implies a lot of text being not a code, 
# > but declarations.
# 
# Have you seen type-inference? Some languages actually analyze 
# your code for types and "templatize" your code according to 
# what you *don't* write. 
# You type code in the listener, and it answers with the 
# "declarations", which you don't have to put anywhere in your 
# files, as they are generated by compilation of the code.

That's a good thing.

# 
# > Ruby should provide a short-time development and therefore
# > no type-checking.
# 
# Short-time development should mean no type-checking when it 
# makes development shorter, and type-checking when it makes 
# development shorter. There's a balance you have to get.
# 
# > Generally, classes are equal when they provide equal 
# interfaces. Class 
# > B is a subclass of A when it provides all the methods of A and some 
# > methods in addition. "<" in Ruby is a shorthand allowing 
# programmer to 
# > shorten the code.
# 

Strong typing shortens development of large project involving large
stuff. I use Ruby only to call huge complicated application written in
strong-typed languages.

Type checking is made at run-time ( as everything an script ). Class of
object is determined by its interface. If the object implements
particular interface then it belongs to the corresponding class. Take a
look at Enumerable module documentaion.

"The class must provide a method each, which yields successive members
of the collection".

Thus providing method 'each' one will get Enumerable mix-in working.
Moreover defining for class A methods similar to methods of module
Enumerable will allow use instances of A at every place where an
Enumerable instance is allowed.

The disadvantage of strong typing is vivid in MS MFC library. If one
wishes instances of its  class CA be collected in a linked list, he
needs derive CA from Cobject, but this implies defining of hash function
for CA!
Thus one has to write a hash function in order to add object to a linked
list. And there are much more overhead.

# In Ruby, A == B means it's _the_ same class, and A < B means 
# all objects that inherit from A also inherit from B, that is, 
# the set of A objects is smaller than the set of B objects. 
# Ruby provides "class A<B" as a notation consistent with Class#<.
# 
# Two classes A,B such that A<B could have an equal number of 
# methods. They could also have equal interfaces (but the Ruby 
# interpreter couldn't tell)

I didn't say about Ruby but I said "generally"

# 
# matju
# 

In This Thread