[#18974] Perl/Python/Ruby common backend (Perl6) — ptkwt@...1.aracnet.com (Phil Tomson)

There is a thread about using .NET's CLR as a backend for Ruby, but how

17 messages 2001/08/01

[#19064] ANN: Code Amelioration Contest (presented by Ruby Conference 2001) — David Alan Black <dblack@...>

17 messages 2001/08/03
[#19184] Re: ANN: Code Amelioration Contest (presented by Ruby Conference 2001) — John Carter <john.carter@...> 2001/08/06

On Fri, 3 Aug 2001, David Alan Black wrote:

[#19185] Re: ANN: Code Amelioration Contest (presented by Ruby Conference 2001) — David Alan Black <dblack@...> 2001/08/06

Hello --

[#19186] Re: ANN: Code Amelioration Contest (presented by Ruby Conference 2001) — John Carter <john.carter@...> 2001/08/06

On Mon, 6 Aug 2001, David Alan Black wrote:

[#19125] My 1st look @ ruby: No prototypes and problem with String#gsub — stesch@... (Stefan Scholl)

My first ruby program:

23 messages 2001/08/04

[#19192] Some remarks from a nembie in Ruby — Renaud HEBERT <renaud.hebert@...>

After having read the book "Programming Ruby: The Pragmatic Programmer's

38 messages 2001/08/06

[#19269] Re: Perl/Python/Ruby common backend (Parrot, can Ruby play too?) — ptkwt@...1.aracnet.com (Phil Tomson)

In article <72X97.12093$9i1.972452@e420r-atl1.usenetserver.com>,

50 messages 2001/08/07
[#19349] Re: Perl/Python/Ruby common backend (Parrot, can Ruby play too?) — Mathieu Bouchard <matju@...> 2001/08/08

[#19456] Re: Perl/Python/Ruby common backend (Parrot, can Ruby play too?) — Harry Ohlsen <harryo@...> 2001/08/09

Ned Konz wrote:

[#19451] Re: Help! I'm still confused about threadin g in the ML — "Morris, Chris" <chris.morris@...>

> Is there an Outlook option to turn on In-Reply-To or References

14 messages 2001/08/09
[#19453] Re: Help! I'm still confused about threadin g in the ML — Dave Thomas <Dave@...> 2001/08/09

"Morris, Chris" <chris.morris@snelling.com> writes:

[#19506] the way class variables work — David Alan Black <dblack@...>

Hello --

51 messages 2001/08/10
[#19511] Re: the way class variables work — Chris Uzdavinis <chris@...> 2001/08/11

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

[#19524] order and freedom in Ruby (was: Re: Re: the way class variables work) — David Alan Black <dblack@...> 2001/08/11

Hello --

[#19517] Why not?: Assigning to self — furufuru@... (Ryo Furue)

Hi there,

55 messages 2001/08/11
[#19689] Re: Why not?: Assigning to self — Ron Jeffries <ronjeffries@...> 2001/08/14

On 13 Aug 2001 20:59:54 -0700, furufuru@ccsr.u-tokyo.ac.jp (Ryo Furue)

[#19694] Re: Why not?: Assigning to self — Ned Konz <ned@...> 2001/08/14

On Tuesday 14 August 2001 05:09 am, Ron Jeffries wrote:

[#19695] Re: Why not?: Assigning to self — ts <decoux@...> 2001/08/14

>>>>> "N" == Ned Konz <ned@bike-nomad.com> writes:

[#19696] Re: Why not?: Assigning to self — Ned Konz <ned@...> 2001/08/14

On Tuesday 14 August 2001 07:51 am, you wrote:

[#19697] Re: Why not?: Assigning to self — ts <decoux@...> 2001/08/14

>>>>> "N" == Ned Konz <ned@bike-nomad.com> writes:

[#19700] Re: Why not?: Assigning to self — Ned Konz <ned@...> 2001/08/14

On Tuesday 14 August 2001 08:27 am, you wrote:

[#19701] Re: Why not?: Assigning to self — ts <decoux@...> 2001/08/14

>>>>> "N" == Ned Konz <ned@bike-nomad.com> writes:

[#19703] Re: Why not?: Assigning to self — Ned Konz <ned@...> 2001/08/14

On Tuesday 14 August 2001 09:05 am, Guy Decoux wrote:

[#19704] Re: Why not?: Assigning to self — ts <decoux@...> 2001/08/14

>>>>> "N" == Ned Konz <ned@bike-nomad.com> writes:

[#19708] Re: Why not?: Assigning to self — Ned Konz <ned@...> 2001/08/14

On Tuesday 14 August 2001 09:27 am, you wrote:

[#19709] Re: Why not?: Assigning to self — ts <decoux@...> 2001/08/14

>>>>> "N" == Ned Konz <ned@bike-nomad.com> writes:

[#19713] Re: Why not?: Assigning to self — Ned Konz <ned@...> 2001/08/14

On Tuesday 14 August 2001 09:45 am, you wrote:

[#19750] Re: Why not?: Assigning to self — matz@... (Yukihiro Matsumoto) 2001/08/15

Hi,

[#19819] Re: Why not?: Assigning to self — Ned Konz <ned@...> 2001/08/15

On Tuesday 14 August 2001 08:14 pm, matz wrote:

[#19852] Re: Why not?: Assigning to self — matz@... (Yukihiro Matsumoto) 2001/08/16

Hi,

[#19857] Re: Why not?: Assigning to self — "Florian G. Pflug" <fgp@...> 2001/08/16

On Thu, Aug 16, 2001 at 11:05:59AM +0900, Yukihiro Matsumoto wrote:

[#19858] Re: Why not?: Assigning to self — matz@... (Yukihiro Matsumoto) 2001/08/16

Hi,

[#19867] Re: Why not?: Assigning to self — "Pit Capitain" <pit@...> 2001/08/16

Just a followup at (my) current end of the thread:

[#19550] Forced garbage collection — Lars Christensen <larsch@...>

14 messages 2001/08/11
[#19562] Re: Forced garbage collection — "Nat Pryce" <nat.pryce@...13media.com> 2001/08/12

From: "Lars Christensen" <larsch@cs.auc.dk>

[#19551] /.ed again — Tobias Reif <tobiasreif@...>

Ruy gets slasdotted again ;)

19 messages 2001/08/11

[#19650] Ruby Newbie mailing list — Michael Pence <mikepence@...>

Hello all.

14 messages 2001/08/13
[#19656] RE: Ruby Newbie mailing list — "Louis Brothers" <lcb134@...> 2001/08/13

We had a similar discussion on the OmniWeb Objective-C mailing list not to

[#19659] Re: Ruby Newbie mailing list — Michael Pence <mikepence@...> 2001/08/13

I appreciate your references to Objectionable-C ;-)

[#19685] Compiling Ruby with cygwin and Tk support — Manuel Zabelt <ng@...>

Hello!

13 messages 2001/08/14

[#19718] General (GUI/license) questions — Ryan Tarpine <rtarpine@...>

First: Kero commented in the description of his new Ruby Agenda program

18 messages 2001/08/14

[#19755] "new" returning nil: how to report the failure of object creation — furufuru@... (Ryo Furue)

Hi there,

14 messages 2001/08/15

[#19758] The GUI poll is in, and the results are surprising — Dave Thomas <Dave@...>

40 messages 2001/08/15
[#19774] Re: The GUI poll is in, and the results are surprising — Lars Christensen <larsch@...> 2001/08/15

On Wed, 15 Aug 2001, Dave Thomas wrote:

[#19784] Re: The GUI poll is in, and the results aresurprising — "Lyle Johnson" <ljohnson@...> 2001/08/15

> Please don't forget what Ruby is all about in this discussion! I think

[#19824] Ruby GUI — "Hal E. Fulton" <hal9000@...>

The concept of a new GUI is somewhat appealing,

16 messages 2001/08/15

[#20033] Ruby Article — Joshua Drake <jd.nospam@...>

Hello,

38 messages 2001/08/20

[#20127] Another Possible RCR - Wrappers via Mixins — Stephen White <spwhite@...>

The main difference between mix-ins and multiple inheritence is (to my understanding) that parent classes do not call child code, but mix-ins do.

15 messages 2001/08/22

[#20135] Bruce Eckel's criticism of Ruby — Ned Konz <ned@...>

Python.org links to http://www.mindview.net/Etc/notes.html#Ruby , saying

24 messages 2001/08/22

[#20183] ++ Operator — kamphausen@... (SKa)

Dear Community,

35 messages 2001/08/23
[#20234] Re: ++ Operator — Dave Thomas <Dave@...> 2001/08/24

matz@ruby-lang.org (Yukihiro Matsumoto) writes:

[#20236] Re: ++ Operator — matz@... (Yukihiro Matsumoto) 2001/08/24

Hi,

[#20209] In Ruby 0 is true but nil is false.. or how to shoot yourself?.. — Guillaume Cottenceau <gc@...>

I have a simple Audio-CD database (using CSV format). I was writing a

11 messages 2001/08/23

[#20254] File.readline(s) — Michael Husmann <michael.husmann@...>

I am reading a 55MB ASCII file by using File.readline(s) which takes on

14 messages 2001/08/24

[#20303] New Windows InstallShield version of Ruby — Andrew Hunt <andy@...>

19 messages 2001/08/24

[#20307] Backwards language — "Sean Middleditch" <elanthis@...>

Greetings,

30 messages 2001/08/24

[ruby-talk:19914] Re: Why not?: Assigning to self

From: "Pit Capitain" <pit@...>
Date: 2001-08-16 18:23:21 UTC
List: ruby-talk #19914
Hi all,


one last reply to several messages concerning the rectangle / 
square example:



On 16 Aug 2001, at 21:42, Dave Thomas wrote:


<color><param>7F00,0000,0000</param>> (...) what is the difference between a Square and

> a Rectangle as classes? Why differentiate? Perhaps the

</color>> underlying Shape class should have a #has_equal_sides?

> method?


Of course in this example I assumed classes Rectangle and 
Square to be different. In one of my former posts I mentioned 
method #reflection_axes, which would be different for Rectangle 
and Square. I didn't want to use #become just to get a different 
object type. I wanted to get different behaviour.


<color><param>7F00,0000,0000</param>> However, I can't see any use for 'becomes.' My bias here comes

</color>> from<color><param>7F00,0000,0000</param> the fact that in Ruby classes are not types, and types are

</color>> not<color><param>7F00,0000,0000</param> classes. (In a way it's a shame that there's a built-in #type

</color>> method,<color><param>7F00,0000,0000</param> because this is misleading.) If we had a #becomes that

</color>> swapped an<color><param>7F00,0000,0000</param> object's class, it would be a subtle but profound shift

</color>> in the<color><param>7F00,0000,0000</param> underlying language, giving classes more significance than

</color>> they<color><param>7F00,0000,0000</param> deserve.


</color>I see #become simply as replacing an object by another. No 
mentioning of classes and I think also no emphasizing on classes 
here. Maybe the example was misleading.



On 16 Aug 2001, at 22:46, Dave Thomas wrote:


<color><param>7F00,0000,0000</param>> I still don't see this. There's no difference between your two

</color>> classes<color><param>7F00,0000,0000</param> except they sometimes become one another.


</color>I thought it was self explaining that I only showed the code that's 
using the #become method, not the whole classes. By the way it's 
the same technique that's used in the excellent pickaxe book. The 
authors tried to make it easier for the reader to follow the topic 
currently under discussion :). Maybe I should have mentioned this 
explicitly.



On 16 Aug 2001, at 23:17, Piers Cawley wrote:


<color><param>7F00,0000,0000</param>> Once again, I point at my 'state machine' example as an

</color>> instance where<color><param>7F00,0000,0000</param> 'becoming' could be useful. The

</color>> 'square'/'rectangle' thing is, as you<color><param>7F00,0000,0000</param> point out, silly.


</color>Bang!


Still I don't think so.



On 17 Aug 2001, at 0:30, Niklas Frykholm wrote:


<color><param>7F00,0000,0000</param>> I think #become is harmful when it changes the interface of an object.


</color>See below.

<color><param>7F00,0000,0000</param> 

> The purpose of #become is to change an object's behavior without having to

> manually change all references to it.


</color>Yes, thats what I meant.


> But if the interace of the object

<color><param>7F00,0000,0000</param>> changes, we will still have to do some sort of manual update to

> make sure that everywhere a reference to the object is used, we are aware

> of its new interface.</color> So nothing is really gained. At the same

> time,<color><param>7F00,0000,0000</param> a lot is lost. Since objects can change interface "under our

</color>> feet" it becomes<color><param>7F00,0000,0000</param> harder to read programs.


</color>I don't see this. As has been mentioned before in this thread, you 
can change the interface of an object already by other means 
(singleton classes). Quite a few ruby programs do this, and I can't 
remember somewhere updating references.


I agree though that it can make programs harder to read. But I 
doubt that #become would be harder to read than the use of 
singleton classes, and I think noone would want to loose these.


<color><param>7F00,0000,0000</param>> (...)

 


> Then there is the question of whether the langauge should try to enforce a

> good coding style, or allow everything and let the users care about shooting

> themselves in the foot. Should we allow #become even if we cannot restrict

> it to "safe" cases?


</color>As I said in my original post, I only would want an implementation 
of #become if it is safe. I earn my living by software development for 
too long a time that I would want to introduce quick'n'dirty hacks, 
particularly not at such vital things like meta protocols.


<color><param>7F00,0000,0000</param>> Then of course, there is the implementation issue. How much work would it be to

> implement #become, and is that time perhaps better spent on developing other

> parts of ruby?


</color>I wholeheartedly agree. In fact, this rectangle / square thread has 
lasted longer than I anticipated, and I hope that it will end soon.


> There aren't that many programs that can make good use of

<color><param>7F00,0000,0000</param>> #become (most people have a hard time coming up with good examples) and

> everything that can be done with #become can be done in other ways, without too

> much of a hassle -- either by returning new objects (if there are not multiple

> references to the object) or by implementing a delegator mechanism:


</color>Maybe you are right. I will keep looking for other good examples in 
my next programming tasks. And because I don't think I'll write a 
graphic editor in the near future, it will certainly not be the rectangle 
/ square example. Still I think it's a good one :)


Thanks for all your input,

Pit

<nofill>

In This Thread