[#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:9842] Re: 101 Misconceptions About Dynamic Languages

From: "Christoph Rippel" <crippel@...>
Date: 2001-01-25 05:10:02 UTC
List: ruby-talk #9842
"Josh Stern" <jstern@foshay.citilink.com> wrote in message
news:3a6f3d73$0$26803$65a95bcd@news.citilink.com...
[..]
>
> Reimer, you misunderstood the pragmatics of my post.

Talking about misunderstanding. I  am the person who initiated
the sup-thread about generic programming never indicated that
there are issues about type safety or overloading with respect to
the IMO problematic support for generic programming.

> It had previously  been asserted in the discussion that
> Ruby would have trouble with full blown generic programming
> because of the lack of overloading and automatic instantiation
 > of overloaded functions for the generic parameters.  There had

My beef with ruby that there doesn't exist a good infrastructure
to facilitate  automatic  instantiation of generic parameters
and I still hold this opinion.

However the mixin mechanism and the C++-template are conceptually
fairly close, see for example my incoherent  ramblings  [ruby-talk:8174]
on the  subject, but the current mixin mechanism does not come with built
in support of instantiation of Module constants  at ``include time''
(i.e. instantiation of generic parameters)   to be able mine this analogy.
(My generic prototype provides a quick  and incomplete fix )

> also been a request for a more fully explained example of
> generic programming, especially in a mathematical project
> where its use may allow the mathematician to think in the
> 'language of the problem' which can be a complex abstract
> language for a mathematician.  So  I mention CGAL as
> a good example of the latter.  I also mentioned that a
> good way to do generic programming, in its full generality
> in Ruby, would be to transpose the 'traits' technique
> to one in which a proxy class directly implements
> ruby functions that returns types as objects.  In your
> discussion below, you seem to express a superficially
> similar idea about how to do generic programming in
> Ruby, though I confess that I don't understand all
> of your post.
>
> >To begin with, for the most basic use of generic types, no additional
> >effort is necessary--Array and Hash are obvious examples.
>
> A main idea of the traits technique is that one may bundle
> all of the generic inteface in a kind of proxy class.
> I agree that for the simple collectin classes like hash,
> the generic interface (involving hashing and comparison)
> is simple enough (only two operations) that there is
> no need to do this.  The traits technique pays dividends
> when there interface has many more methods and there
> are reusability relationships between the traits needs
> of different classes.
>
> >For more
> >advanced schemes, it may be best to avoid the elaborate and
> >unnecessarily complicated maze of C++ templates and return to simpler
> >approaches.
>
> C++ templates aren't actually complicated, but anyway, that's
> off the point anyway.
Agreed!

> For instance, the instantion of a parametric type A[X] as
> >A[T], where X is a formal parameter and T a concrete type, can be seen
> >as specialization inheritance from A[X] with X = T. What we need for
> >this to work is to be able to work with types as first class
> >objects--something that C++ can't do,
>
> a) that's not necessary
> b) the traits technique approximates the same thing anyway.
>
> >but Ruby can. Instantiating formal
> >parameters of generic types is basically constraining a family of
> >objects along one more dimensions. While I believe that somebody
> >mentioned earlier that genericity and inheritance are orthogonal
> >concepts, the opposite is true: generics introduce a classical is-a
> >relation, generally with full substitutivity (modulo the usual
> >covariance issues).
>
> I don't understand which is-a relationship you are talking about here.
Me neither.
> Could you give an example?
>
> >A straightforward implementation would pass types, and whatever other
> >generic parameters you have, as arguments to 'new', to be stored in type
> >variables.
>
> What happens in practice is that little details of implementation
> can change the interface, since more types are required.
> That is one reason why it works out well to bundle them
> in a trait class.  But we agree on the idea of using
> types as objects in Ruby.
>
> >Instantiating the formal paramaters would then be the
> >equivalent to performining currying on 'initialize'.
>
> Have to ask you again for an example.  I know currying
> and initialize, but I'm not sure what your vision is
> here.
>
> >Variants would be
> >having functions returning types, which can then be redefined, or
> >aliasing type names to constants. (And of course, when I'm referring to
> >types, just about any type of object can be substituted.)
> >
> >The implementation of Z_n, for instance, should be a straightforward
> >exercise. The need of generics for a polynomial ring is not equally
> >obvious; we only need a type parameter as a simple case of a factory
> >pattern, and even this could be avoided if desired.
>
> >A lot of the problems that you have in many statically typed languages
> >just go away when you have types as first-class objects.
>
> Agreed!
> It should also
> >be noted that just because something is part of C++ it should not
> >necessarily be added to another language; in fact, the converse is
> >generally true.
>
> I wasn't advocating that.  Though I have suggested in other posts
> that overloading would be useful in Ruby, but for somewhat different
> reasons.

Belatedly responding to your explanation of  ``Koeniging'' - it seems to
me that a Ruby implementation of overloading wouldn't need to rely on such
facility since it is mainly used to resolve naming ambiguities resulting
from
of compile time versus runtime issues - which for obvious reason would not
exist in Ruby  but I might be a bit blue-eyed about this.

> Regards,
>
> -= Josh

Christoph


In This Thread