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

From: "Ben Tilly" <ben_tilly@...>
Date: 2001-01-08 05:28:49 UTC
List: ruby-talk #8815
Clemens Hintze <c.hintze@gmx.net> wrote:
>
>On  8 Jan, Ben Tilly wrote:
> > Clemens Hintze <c.hintze@gmx.net> wrote:
>
>(...)
>
> >>The three paradigms, Ruby supports and I want to mention, are:
> >                                     ^^^^^^^^^^^^^^^^^^^^^
> > It supports more of course. :-)
>
>Of course. But because the original post was about modules, I have only
>mentioned those paradigms that have anything to do with modules.

Ah, yes. :-)

>But it is nice from you that you have mentioned the functional paradigm
>too. Especially as I am still not familiar with that paradigm yet. I
>begin to learn it right now. Using Hope, Haskell and perhaps Ocaml :-))

I recommend reading "Structure and Interpretation of Computer
Programs" by Sussman and Sussman if you want to learn it
better. :-)

Not that I understand it as well as I want. :-(

>(...)
>
> > Ruby also supports functional techniques.  You call proc()
> > to produce a procedure, and then call it many times.  The
>
>I was not 100% sure that Ruby supports functional paradigm, though. From
>what I have seen, the short time I learned functional programming now, I
>got the impression that functional programming does not only mean to
>have first class functions but also to write down function/formulas and
>let the interpreter to chose the right one to be executed right now.
>Like this:
>
>   dec fib : num -> num;
>   --- fib(n) <= fib(n-1) + fib(n-2);
>   --- fib(1) <= 1;
>   --- fib(2) <= 1;
>
>If I understood this example right, all equations are equal. If I ask
>the interpreter for fib(12), it should decide on its own what formula or
>function equation it has to chose to solve my question.

Not all functional languages will be able to do that.

Just like there are concepts that show up naturally in
object oriented programming that may or may not be
supported in a given object-oriented language, there
are concepts that show up in functional languages which
may or may not show up in any given one.

>But, OTOH, I may be totally false here. Perhaps you could enlight me,
>what functional programming mean, and whether Ruby really supports that
>paradigm well?
>
A good summary and description of what is necessary to use
functional techniques appears in MJD's description of the
book that he is writing:

http://perl.plover.com/book/

The key elements he lists are first class function values
(Ruby goes farther than necessary here with the ability
to turn functions into blocks and blocks into functions),
dynamic construction of anonoymous functions (through
either Proc.new or proc), variables with lexically closed
scope (Ruby does this, though it could do with better ways
to declare that this variable should really be private),
and automatic garbage collection (which Ruby of course
supports).

So the basic functional techniques work in Ruby.

> > following quick hack shows what those techniques look like,
> > though it is a port of a quick example I did in Perl and I
> > don't know if it is how you would want to solve this problem
> > in Ruby:
>
>(... really impressing 'hack' deleted ...)
>
>Ehrm ... whoa! I would first have to look how your example is doing what
>it does ... :-/

OO programming is hard for procedural programmers because it
is a form of indirection.  Functional is a different form of
indirection.  My impression is that OO imposes a structure on
how you think about the problem.  Functional leaves you with
more flexibility about how to approach problems, and likewise
with more

>Impressing ... indeed! I will save it for further usage. And to answer
>your question, I really do not know, how I would solve that problem
>equally elegant as you've done right now! :-)
>
I would wonder if there isn't a more natural solution using
iterators.  I have not played with them in Ruby.  I am used
to creating an anonymous function that returns the values in
order and then iterating over that:

  # Sorry for the name, this is what I usually call them
  def ret_fib_iter ()
    old, fib = 1, 0
    proc { ||
      old, fib = fib, fib + old
      fib
    }
  end

  fn = ret_fib_iter

  for i in 1..50 do
    puts "Fib(#{i}) is #{fn[]}"
  end

I still don't have a good sense how using the native
iterator construct compares to this approach.
>
> > Functional as well. :-)
>
>It would be nice if that is true.
>
It is true. :-)

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

In This Thread

Prev Next