[#11822] RCR: Input XML support in the base Ruby — Dave Thomas <Dave@...>

15 messages 2001/03/01

[#11960] Not Ruby, for me, for the moment at least — "Michael Kreuzer" <mkreuzer@... (nospam)>

I wrote on this newsgroup last weekend about how I was considering using

11 messages 2001/03/04

[#12023] French RUG ? — "Jerome" <jeromg@...>

Hi fellow rubyers,

16 messages 2001/03/05

[#12103] disassembling and reassembling a hash — raja@... (Raja S.)

Given a hash, h1, will the following always hold?

20 messages 2001/03/06

[#12204] FEATURE REQUEST: 'my' local variables — Leo Razoumov <see_signature@127.0.0.1>

Ruby is, indeed, a very well designed language.

64 messages 2001/03/07
[#12250] Re: FEATURE REQUEST: 'my' local variables — Leo Razoumov <see_signature@127.0.0.1> 2001/03/07

>>>>> "GK" == GOTO Kentaro <gotoken@math.sci.hokudai.ac.jp> writes:

[#12284] Re: FEATURE REQUEST: 'my' local variables — gotoken@... (GOTO Kentaro) 2001/03/08

In message "[ruby-talk:12250] Re: FEATURE REQUEST: 'my' local variables"

[#12289] Re: FEATURE REQUEST: 'my' local variables — matz@... (Yukihiro Matsumoto) 2001/03/08

Hi,

[#12452] Re: FEATURE REQUEST: 'my' local variables — gotoken@... (GOTO Kentaro) 2001/03/12

In message "[ruby-talk:12289] Re: FEATURE REQUEST: 'my' local variables"

[#12553] Re: FEATURE REQUEST: 'my' local variables — Dave Thomas <Dave@...> 2001/03/13

matz@zetabits.com (Yukihiro Matsumoto) writes:

[#12329] Math package — Mathieu Bouchard <matju@...>

18 messages 2001/03/09

[#12330] Haskell goodies, RCR and challenge — Robert Feldt <feldt@...>

Hi,

19 messages 2001/03/09
[#12374] Re: Haskell goodies, RCR and challenge — matz@... (Yukihiro Matsumoto) 2001/03/10

Hi,

[#12349] Can Ruby-GTK display Gif Png or Jpeg files? — Phlip <phlip_cpp@...>

Ruby-san:

20 messages 2001/03/09

[#12444] class variables — Max Ischenko <max@...>

14 messages 2001/03/12

[#12606] Order, chaos, and change requests :) — Dave Thomas <Dave@...>

17 messages 2001/03/14

[#12635] email address regexp — "David Fung" <dfung@...>

i would like to locate probable email addresses in a bunch of text files,

12 messages 2001/03/14

[#12646] police warns you -- Perl is dangerous!! — Leo Razoumov <see_signature@127.0.0.1>

I just read this story on Slashdot

14 messages 2001/03/14
[#12651] Re: police warns you -- Perl is dangerous!! — pete@... (Pete Kernan) 2001/03/14

On 14 Mar 2001 11:46:35 -0800, Leo Razoumov <see_signature@127.0.0.1> wrote:

[#12691] Re: police warns you -- Perl is dangerous!! — "W. Kent Starr" <elderburn@...> 2001/03/15

On Wednesday 14 March 2001 15:40, Pete Kernan wrote:

[#12709] [OFFTOPIC] Re: police warns you -- Perl is dangerous!! — Stephen White <spwhite@...> 2001/03/16

On Fri, 16 Mar 2001, W. Kent Starr wrote:

[#12655] Re: FEATURE REQUEST: 'my' local variables — "Benjamin J. Tilly" <ben_tilly@...>

>===== Original Message From Leo Razoumov <see_signature@127.0.0.1> =====

18 messages 2001/03/14

[#12706] Library packaging — "Nathaniel Talbott" <ntalbott@...>

I have a project that I'm working on that needs to live two different lives,

30 messages 2001/03/16

[#12840] Looking for a decent compression scheme — Dave Thomas <Dave@...>

14 messages 2001/03/19

[#12895] differences between range and array — "Doug Edmunds" <dae_alt3@...>

This code comes from the online code examples for

16 messages 2001/03/20
[#12896] Re: differences between range and array — "Hee-Sob Park" <phasis@...> 2001/03/20

[#12899] Re: differences between range and array — Jim Freeze <jim@...> 2001/03/20

On Tue, 20 Mar 2001, Hee-Sob Park wrote:

[#12960] TextBox ListBox — Ron Jeffries <ronjeffries@...>

Attached is a little Spike that Chet and I are doing. It is a

13 messages 2001/03/20

[#12991] [ANN] Lapidary 0.2.0 — "Nathaniel Talbott" <ntalbott@...>

Well, here's my first major contribution to the Ruby world: Lapidary. It's a

16 messages 2001/03/20

[#13028] mkmf question — Luigi Ballabio <luigi.ballabio@...>

15 messages 2001/03/21

[#13185] Reading a file backwards — "Daniel Berger" <djberg96@...>

Hi all,

21 messages 2001/03/25
[#13197] Re: Reading a file backwards — "Daniel Berger" <djberg96@...> 2001/03/25

> Hi Dan,

[#13203] Re: Reading a file backwards — Mathieu Bouchard <matju@...> 2001/03/25

On Sun, 25 Mar 2001, Daniel Berger wrote:

[#13210] Re: Reading a file backwards — "Daniel Berger" <djberg96@...> 2001/03/25

"Mathieu Bouchard" <matju@sympatico.ca> wrote in message

[#13374] Passing an array to `exec'? — Lloyd Zusman <ljz@...>

I'd like to do the following:

15 messages 2001/03/31

[#13397] Multidimensional arrays and hashes? — Lloyd Zusman <ljz@...>

Is it possible in ruby to make use of constructs that correspond to

14 messages 2001/03/31

[ruby-talk:12531] Re: Math package

From: "Christoph Rippel" <crippel@...>
Date: 2001-03-12 21:55:46 UTC
List: ruby-talk #12531
> From: ts [mailto:decoux@moulon.inra.fr]
[...]
> C> The real interesting point is of course the multi-method lookup 
> C> - the point where type-based overloaded functions are both slow 
> C> and muddled with Koenig lookups etc.. (the following leaves
> C> out the question on how to generalize module inclusion but this
> C> can probably be done coherently as well) 
> C> The basic strategy probably should be lexicographic over the mtype
> C> components in our example an double object since this strategy
> C> is simple and coherent. In our example this would be 
> C> [Float,Float],[Float,Numeric],[Float,Object], [Numeric,Numeric]
> C> ,..., [Object,Object] 
> 
>  You can have multi-dispatch if you write
> 
>    class Object2
>       def mself(Float a, Float b)
>           # work with 2 float
>       end
>    
>       def mself(Float a, Numeric b)
>           # work with float and numeric
>       end
>    
>       def mself(Object a, Object b)
>           # work with all other objects
>       end
>    end
> 
> 
>  This can be easily extended to a module.
> 
True, but type based overloaded functions and multi-dispatch 
are more or less equivalent - by using the (<x,y>)  notation
you could also write pr(x,y) you put the responsibility which 
parameters can be overloaded back into the court yard of the
caller.
This speeds up the method loop-up and seems much cleaner
(and no ambiguities of Koenig lookups once you settled on the 
lexicographic search path) and type based overloading per-se
does not have the anal distinction of object and multi-object
at all. Admittedly the extra complexity of object versus
multi-object is also the achilles tendon of this concept.

If you look at the example of arctan2 in Math (this works
for Float's but it makes sense to override this for Complex's) 
its clear that x.arc2tan(y) is completely unacceptable since is
not symmetric in x,y - so you have to turn this into a function
of three parameters with one unnecessary (unused )self Object
variable. To me once forced into swallowing ``x.abs'' I see no
reason why  ``pr(x,y).arctan2'' or ''(<x,y>).arctan2'' should
be any different. 
I also don't like the fact that Object2 < Object (but I am
probably just paranoid here) and doubt that you can play the
same functional programming games if forming multi-types of
singleton classes were  possible - that is
Object2
    def mself(A,B)
	 # return an multi-object of mtype
       #  X = Class::IsPair A , B in my notation 
    end
end	
where A and/or B are singleton classes - i.e. 
A (or/and B) = ObjectSpace._id2ref (  class << x; id ) 
for some Object x.

That said it is probably possible to write a Multi-object
extension with the ``pr''-notation (but I have no idea 
how difficult this would be in particular how to make
this really fast.)

Christoph



In This Thread