[#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:8979] Re: Modules and mixins

From: "Ben Tilly" <ben_tilly@...>
Date: 2001-01-10 04:09:55 UTC
List: ruby-talk #8979
"Christoph Rippel" <crippel@primenet.com> wrote:
>
> > -----Original Message-----
> > From: Ben Tilly [mailto:ben_tilly@hotmail.com]
> > Sent: Tuesday, January 09, 2001 03:52 AM
> > To: ruby-talk ML
> > Subject: [ruby-talk:8917] Re: Modules and mixins
>...
> > Say no more.  Explicit calculations open up room for all
> > sorts of potential mistakes.
>they are also very inefficient and are either (virtually)
>impossible or absurdly complex if you start adding
>additional ``if clauses'' etc.  ...

While the point is understood, in this case I suspect that
parameter passing overhead is substantially higher.
> > >
>...
> > Not much of a trick.  I just intended to use argument
>if you know it ....

I just made it up, thought it was probably standard?

In fact I was noticing how moving from Perl to Ruby I
was able to avoid some of the explicit argument
assignment, figured I might as well try to remove the
rest...

> > processsing to do what would otherwise be mechanical in
> > my original Perl version.
>...
> > my solution.  I think I like the pattern of this one
> > better, just a tad more direct.  However I would
> > prefer different names:
>On the other hand your solution is more fun and you can
>replace the final ``[]'' with the mandatory ``[6,6,6]''.
>Seriously it is probably a good idea to distribute the
>argument pre-processing (in both solutions) over two
>function calls, lets say  along the lines of

Another advantage to my solution is that easy
variants of it work in a large number of languages.
As long as the basic functional paradign works, that
solution will work.

Also the function you start with could itself have
come from some function that produced a ton of
closures.  I may be mistaken, but I think that if
you tried this with blocks you would lose the
closure from which they came?  (I may be seriously
mistaken here.)

Thus there is a small iota of flexibility in the
functional approach at the cost of a worse interface.

>class Array
>   def  multi_each  # or each_comb, iter_each  ...
>     __e(*self) {|arg| yield arg } unless empty?
>   end
>   private
>   def  __e (arg,*more_args)
>     (more_args.empty?) ?
>        arg.each { |r| yield [r] } :
>        arg.each {|l| __e(*more_args) {|r| yield [l]+ r }}
>   end
>end
>
>[1...3,'a'..'c', ('A'..'D').to_a].multi_each \
>{ |arg|  puts arg.join " " }
>
>[].multi_each \
>{ |arg|  puts "nothing"  }
>
>This is sort of complementary to the proposed ``zip''
>(not that I am suggesting to include this in the Array
>interface).

Isn't Array a rich enough class already? :-)

FWIW the the times I reach for a functional approach
tend to fall under the labels, "callback", and "handler".
(A hash of anonymous functions is a surprisingly
flexible control structure.)

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

In This Thread

Prev Next