[#8566] Visions for 2001/1.7.x development? — Robert Feldt <feldt@...>

Hi matz and other Ruby developers,

18 messages 2001/01/03
[#8645] Re: Visions for 2001/1.7.x development? — matz@... (Yukihiro Matsumoto) 2001/01/04

Hi,

[#8580] bug?? — jmichel@... (Jean Michel)

I don't understand the following behaviour:

19 messages 2001/01/03

[#8633] Interesting Language performance comparisons - Ruby, OCAML etc — "g forever" <g24ever@...>

13 messages 2001/01/04

[#8774] No :<, :>, etc. methods for Array — "Brian F. Feldman" <green@...>

So, why not include Comparable in Array by default? It shouldn't have any

28 messages 2001/01/07
[#8779] Re: No :<, :>, etc. methods for Array — matz@... (Yukihiro Matsumoto) 2001/01/07

Hi,

[#8780] Re: No :<, :>, etc. methods for Array — "Brian F. Feldman" <green@...> 2001/01/07

matz@zetabits.com (Yukihiro Matsumoto) wrote:

[#8781] Re: No :<, :>, etc. methods for Array — gotoken@... (GOTO Kentaro) 2001/01/07

In message "[ruby-talk:8780] Re: No :<, :>, etc. methods for Array"

[#8782] Re: No :<, :>, etc. methods for Array — "Brian F. Feldman" <green@...> 2001/01/07

gotoken@math.sci.hokudai.ac.jp (GOTO Kentaro) wrote:

[#8829] Sandbox (again) — wys@... (Clemens Wyss)

Hi,

20 messages 2001/01/08
[#8864] Re: Sandbox (again) — Clemens Hintze <c.hintze@...> 2001/01/08

On 8 Jan, Clemens Wyss wrote:

[#8931] String confusion — Anders Bengtsson <ndrsbngtssn@...>

Hello everyone,

21 messages 2001/01/09
[#8937] Re: String confusion — matz@... (Yukihiro Matsumoto) 2001/01/09

Hi,

[#8953] Please remove account from files — "Thomas Daniels" <westernporter@...>

Please take my e-mail address from your files and "CANCEL" my =

14 messages 2001/01/09
[#8983] Re: Please remove account from files — John Rubinubi <rubinubi@...> 2001/01/10

On Wed, 10 Jan 2001, Thomas Daniels wrote:

[#9020] time to divide -talk? (was: Please remove account from files) — Yasushi Shoji <yashi@...> 2001/01/10

At Wed, 10 Jan 2001 14:23:30 +0900,

[#9047] Re: time to divide -talk? (was: Please remov e account from files) — Aleksi Niemel<aleksi.niemela@...>

Yasushi Shoji:

27 messages 2001/01/10
[#9049] Re: time to divide -talk? — Yasushi Shoji <yashi@...> 2001/01/10

At Thu, 11 Jan 2001 00:20:45 +0900,

[#9153] what about this begin? — Anders Strandl Elkj誡 <ase@...> 2001/01/11

[#9195] Re: Redefining singleton methods — ts <decoux@...>

>>>>> "H" == Horst Duch=EAne?= <iso-8859-1> writes:

10 messages 2001/01/12

[#9242] polymorphism — Maurice Szmurlo <maurice@...>

hello

73 messages 2001/01/13

[#9279] Can ruby replace php? — Jim Freeze <jim@...>

When I read that ruby could be used to replace PHP I got really

15 messages 2001/01/14

[#9411] The Ruby Way — "Conrad Schneiker" <schneiker@...>

As a member of the "Big 8" newsgroups, "The Ruby Way" (of posting) is to

15 messages 2001/01/17

[#9462] Re: reading an entire file as a string — ts <decoux@...>

>>>>> "R" == Raja S <raja@cs.indiana.edu> writes:

35 messages 2001/01/17
[#9465] Re: reading an entire file as a string — Dave Thomas <Dave@...> 2001/01/17

raja@cs.indiana.edu (Raja S.) writes:

[#9521] Larry Wall INterview — ianm74@...

Larry was interviewed at the Perl/Ruby conference in Koyoto:

20 messages 2001/01/18
[#10583] Re: Larry Wall INterview — "greg strockbine" <gstrock@...> 2001/02/08

Larry Wall's interview is how I found out

[#9610] Re: 101 Misconceptions About Dynamic Languages — "Ben Tilly" <ben_tilly@...>

"Christian" <christians@syd.microforte.com.au> wrote:

13 messages 2001/01/20

[#9761] Re: 101 Misconceptions About Dynamic Languages — ts <decoux@...>

>>>>> "C" == Christoph Rippel <crippel@primenet.com> writes:

16 messages 2001/01/23

[#9792] Ruby 162 installer available — Dave Thomas <Dave@...>

15 messages 2001/01/24

[#9958] Re: Vim syntax files again. — "Conrad Schneiker" <schneik@...>

Hugh Sasse wrote:

14 messages 2001/01/26
[#10065] Re: Vim syntax files again. — Hugh Sasse Staff Elec Eng <hgs@...> 2001/01/29

On Sat, 27 Jan 2001, Conrad Schneiker wrote:

[#9975] line continuation — "David Ruby" <ruby_david@...>

can a ruby statement break into multiple lines?

18 messages 2001/01/27
[#9976] Re: line continuation — Michael Neumann <neumann@...> 2001/01/27

On Sat, 27 Jan 2001, David Ruby wrote:

[#9988] Re: line continuation — harryo@... (Harry Ohlsen) 2001/01/28

>A statement break into mutliple lines if it is not complete,

[ruby-talk:8890] Re: No :<, :>, etc. methods for Array

From: "Ben Tilly" <ben_tilly@...>
Date: 2001-01-08 19:48:49 UTC
List: ruby-talk #8890
David Alan Black <dblack@candle.superlink.net> wrote:
>On Mon, 8 Jan 2001, Ben Tilly wrote:
[...]
> > It is the same problem that Enumerable addresses.  Turn
> > building a complex and widely used interface into building
> > a rather small interface.  Many of the methods that are in
> > Array and Hash today are there as either syntactic sugar or
> > for convenience.  Why not make it easy for others to reuse
> > the convenience of that interface?
>
>In principle that's fine -- laudable, even :-) -- I'm just not getting
>exactly what you mean in practice.  A module called TieHash?  Tieable?
>What would it consist of?  I keep coming back to the fact that, if I
>wanted to write a program using hashish... ummm... hash-like syntax, I
>would give my class a []= method, and so forth.  I'm not clear on what
>would be gained by inheriting from TieHash or something like that.

Say modules called ArrayInterface, HashInterface and
StringInterface.

If you want to use it you would have to write []= and so
on, but the so-on to get the whole interface would be much
smaller than it would be now.

For instance if Ruby settles on a native reduce() method,
well there is no need to write that method in every class
that wants to do something like an array, is there?

>In Perl there's a kind of middle layer, because you can't just define
>STORE() and have an object know what to do.  You have to have
>something like tie(), so that the line can be drawn, so to speak, from
>the object through the syntax ($hash{x} = "whatever") to STORE().  I
>suppose my question is: does all of that really even have to happen in
>Ruby, given how malleable everything is?  In Ruby you *can* "just
>define" these things.  The fact that []= is a method seems to me to
>change the logic of tying completely.

Look at the list of methods for widely used basic classes.

How many of those are really basic, and how many can easily
be written in terms of the rest?

Now I agree that telling Perl people that this is tie is
just advertising.  The design of Ruby makes it trivial.
The internal design of Perl does not.

>Or is that a separate issue?  Back to question 1: if you are
>describing something along the lines of a Tieable module, what would
>be in it?
>
You would not have a single Tieable module.

You would have modules for each class you wanted to emulate
that let you define a basic list of methods and get the
entire interface.  A class which wished to provide what
Perl folks would think of as a tied interface would just
implement the basic and obvious methods, then mixin the rest
of the interface.

Instead of calling a magic tie function that did deep and
magic things, you would call "new".

If you think that this sounds like a trivial idea, then you
probably understood it correctly.  This isn't a hard thing
to do.  It isn't a hard thing to support.  It isn't a deep
change to the language.

But I suspect it would be convenient.

Cheers,
Ben
_________________________________________________________________
Get your FREE download of MSN Explorer at http://explorer.msn.com

In This Thread

Prev Next