[#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 subscription to "Ruby-Talk". Ruby is not right for what I do. The "Bulk Mail" is overwhelming. Please, no more e-mail! Thank you! yours truly, Stan Daniels

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:8888] Re: Visions for 2001/1.7.x development?

From: Charles Hixson <charleshixsn@...>
Date: 2001-01-08 18:40:02 UTC
List: ruby-talk #8888
Ben Tilly wrote:

> Charles Hixson <charleshixsn@earthlink.net> wrote:
> 
>> 
>> Yukihiro Matsumoto wrote:
>> 
>>> Hi,
>>> ...
>>> 
>>> |* Ruby-enforced (or at least supported) way to versioning of
>>> |  scripts/extensions. Can be used both from Ruby code ("require
>>> |  'BitVector' {VERSION >= 1.6}") and from RAA-installer ("raa-get
>>> |  Bitvector 1.6.1"). Different versions can co-exist on my Ruby set-up.
>>> 
>>> I like the basic idea.  But I still don't have concrete strategy to
>>> make it possible.
>>> ...
>>>                             matz.
>> 
>> 
... 
> They are widely enough used that version tuples make sense:
> 
>  major.minor.rev
I agree with the major.minor.rev
  version number, but that looks like a string to me 
more than like a number.

> 
> Any major rethinking of structure results in incrementing
> major, and two versions of the same libary that have a
> different major version are not expected to be compatible.
> New features can be added in a minor version, but would
> generally be assumed upwards (though not downwards)
> compatible.  Revs are bug-fixes, pure and simple.

OK.  So I guess that this says that the require'd 
file shouldn't depend on which revision number is 
used.  If this is a save assumption (which I find 
questionable, but possible) then a simple integer 
could be used for the version (= major.minor * 100). 
  But I'm not sure that this really simplifies 
things.  And it makes it more difficult to separate 
version numbers by differences between their file 
names (which I was considering).

> 
> The lookup system should not worry about having things
> that use different revs.  It should allow you to specify
> minimum version (with the rev possibly significant).
> A maximum version (major.minor only) could also be
> though it shouldn't be assumed to work.  In general it
> would be unwise to assume compatibility on a major version
> unless the software specifically said otherwise.  It
> should by default use the version that does not have a
> version name in it, and failing that use the highest
> compatible version
The problem here is if one needs to disallow certain 
specific versions.  This is a hopefully rare 
occurance, but I have experienced it in the past 
(usually with compilers, but I don't know that 
libraries would be an exception).

> 
> Any script that wound up loading things that want to use
> multiple versions of the same library should be registered
> as having an internal conflict.
The problem is not with wanting to use multiple 
versions of the same library, as with specifically 
NOT wanting to use some particular version (perhaps 
it just happens to break some small feature that you 
depend on, and this was working in both the prior 
and the succeeding versions).

> 
>> One thing that this would require is a method for keeping several
>> different versions of the same code around, probably by requiring
>> something like the filename to be embedded in the second line of the
>> file (not the first line, as that would interfere with the #!/usr/...
>> convention).
> 
> How would I keep two versions of a library in parallel?
> 
> Yes, let the code say its version.  But also let the lookup
> for a library search with the version in its name.  Now add
> in a standard naming scheme (Debian does this).
> 
> In my proposal it would be sufficient to have major.minor
> in the names.  Loading specific versions like this would
> involve searching the directory, and might be slow.  (Which
> is why in my proposal I went for the default version first.)
I can accept the major.minor (though I do think that 
minor bugs might only show up in one revision).  I 
don't see that searching the directory this way 
would be any slower than searching the directory 
anyway.  And usually one probably wouldn't specify 
the version (which would mean take the highest 
version available).

On second reading it seems like you might be talking 
about C modules.  (Though I'm having enough trouble 
trying to load the gtk module that I may just 
misunderstand the whole process.)  I have been 
assuming that the search process involved searching 
through PATH, not that it involved an internal 
table.  But if the internal table were Ruby code, 
then I can see a possible problem My first thought 
was that the reasonable approach would seem to be an 
avl tree as a hash wouldn't search in any reasonable 
order, but on second thought a hash on the name that 
lead to a list sorted by version key (highest first) 
would seem to solve the problem in short order.

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

In This Thread

Prev Next