[#10830] New kill_thread function in eval.c conflict with a BeOS system function — <noreply@...>
Bugs item #9736, was opened at 01/04/2007 16:20
[#10834] Hefty patch for mkmf.rb — <noreply@...>
Patches item #9762, was opened at 2007-04-02 09:55
[#10853] Why limit class def to a constant or colon node? — Charles Oliver Nutter <charles.nutter@...>
Is there a historical reason why I can't do something like these:
Hi,
On 4/3/07, Charles Oliver Nutter <charles.nutter@sun.com> wrote:
[#10867] defined? operator changed in ruby 1.9: bug or feature? — David Flanagan <david@...>
The behavior of the defined? operator is different in current ruby 1.9
Hi,
[#10875] Ruby shouldn't process shebang! — "Kirill A. Shutemov" <k.shutemov@...>
> echo -e '#!test\nputs "test passed"' | ruby=20
On 4/5/07, Kirill A. Shutemov <k.shutemov@gmail.com> wrote:
[#10884] Ruby 1.9/1.8 compatibility: String#lines — murphy <murphy@...>
It seems the most important change in 1.9, in terms of compatibility, is
[#10907] install (/bin/install) path hardcoded at build — <noreply@...>
Bugs item #10004, was opened at 2007-04-10 13:21
[#10909] Turning off verbose output for mkmf — Daniel Berger <Daniel.Berger@...>
Hi all,
[#10923] block_given? => true in main(). — "Adam Bozanich" <adam.boz@...>
Hi all.
[#10933] Cannot build with extra library path if previous version already installed — <noreply@...>
Bugs item #10140, was opened at 2007-04-16 17:32
Hi,
On 4/16/07, nobu@ruby-lang.org <nobu@ruby-lang.org> wrote:
Hi,
On 4/19/07, Nobuyoshi Nakada <nobu@ruby-lang.org> wrote:> Hi,>> At Wed, 18 Apr 2007 20:21:44 +0900,> Michal Suchanek wrote in [ruby-core:10960]:> > Yes. And this should also apply to extensions. The mkmf tests are now> > fine but the extension is linked with -L/sw/lib before -L../..>> Indeed.>>> Index: configure.in> ===================================================================> --- configure.in (revision 12191)> +++ configure.in (working copy)> @@ -1385,5 +1385,4 @@ if test "$enable_rpath" = yes; then> fi>> -LDFLAGS="-L. $LDFLAGS"> AC_SUBST(ARCHFILE)>This would break the previous fix so I did not even try to apply this ^
Hi,
[#10944] IRHG - "Three Stuffing" — Charles Thornton <ceo@...>
Can a japanese speaker give a translation
[#10947] backwards compatibility for 'raise Interrupt' — Ryan Davis <ryand-ruby@...>
** BEFORE:
Hi,
Hi,
[#10968] IRHG - Manuscript Hunt — Charles Thornton <ceo@...>
Does anyone know of a Text Copy (Not PDF) of this manuscript:
[#10981] ruby 1.9 crash on cygwin — "Anton Ivanov" <Anton.Ivanov@...>
Hi,
[#11003] miniruby loads extensions from already installed ruby — <noreply@...>
Bugs item #10303, was opened at 2007-04-23 10:44
Hi,
On 23/04/07, Nobuyoshi Nakada <nobu@ruby-lang.org> wrote:
Hi,
On 26/04/07, Nobuyoshi Nakada <nobu@ruby-lang.org> wrote:
Hi,
[#11012] Ruby 1.9: multiple splats on rvalues in parallel assignment — David Flanagan <david@...>
This has got to be a bug...
[#11025] gsub with backslash characters in replacement string — "Adam Bozanich" <adam.boz@...>
Hello, spotted this one the other day:
Hi,
On 4/26/07, Yukihiro Matsumoto <matz@ruby-lang.org> wrote:
On 4/26/07, Adam Bozanich <adam.boz@gmail.com> wrote:
On 4/26/07, Marte Raphael Y. Soliza <myrtactle@gmail.com > wrote:
[#11029] Proc#arity regression or bug in RDoc — Mauricio Fernandez <mfp@...>
On Thu, Apr 26, 2007 at 06:55:46PM +0900, Mauricio Fernandez wrote:
Re: Comparable module and values of <=> operator
Replying to myself again...
If writing "loose" <=> methods really isn't okay, then it sure would be
nice to have a fast sgn (or sign) method built-in to Numeric. Then I
could write a "string" <=> method of the form (y - x).sgn
I know that I can use "<=> 0" to compute the sign of a number, but
Numeric has a native abs method, so it should have a native sgn method.
In my opinion, abs without sgn is like quo without modulo or sin
without asin.
This was discussed recently (but didn't go anywhere) on ruby-talk:
http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-talk/235566
David
David Flanagan wrote:
> I agree that the current documentation and implementation are not
> inconsistent. Implicit in my question was a concern about efficiency. I
> have been assuming that being allowed to write <=> methods that return
> any number less than zero or any number greater than zero is more
> efficient than having to include the extra code to "clamp" those values
> to -1 and +1.
>
> A simple benchmark is included. It shows that it is about 25% faster to
> write a "loose" <=> method than a "strict" <=> method. (But only if the
> loose <=> method returns an Integer. If it returns a Float, then the
> loose method is actually slower.)
>
> Anyway, it is this efficiency issue that is at the root of my question.
> Given that Ruby's documentation is not always really detailed, I
> wondered if the docs are really definitive here. If it is actually
> legal to write a loose <=> method, it would be nice to know that!
>
> David
>
> Benchmark code follows:
> class Slow
> def initialize(x)
> @x = x
> end
>
> def value
> @x
> end
>
> def <=>(other)
> y = other.value
> if @x < y
> -1
> elsif @x > y
> 1
> else
> 0
> end
> end
> end
>
> class Fast
> def initialize(x)
> @x = x
> end
>
> def value
> @x
> end
>
> def <=>(other)
> other.value - @x
> end
> end
>
> f = []
> s = []
>
> 100000.times do
> x = rand(100000)
> f << Fast.new(x)
> s << Slow.new(x)
> end
>
> require 'benchmark'
> include Benchmark
>
> bmbm(2) do |x|
> x.report("Fast") { f.sort }
> x.report("Slow") { s.sort }
> end
>
>
> ------------------------------------------------
> Here are the benchmark results on my aging Linux system:
>
> Rehearsal ----------------------------------------
> Fast 4.390000 0.000000 4.390000 ( 4.403584)
> Slow 5.640000 0.020000 5.660000 ( 5.657363)
> ------------------------------ total: 10.050000sec
>
> user system total real
> Fast 4.020000 0.000000 4.020000 ( 4.025188)
> Slow 5.500000 0.000000 5.500000 ( 5.503963)
>
>
>
> Marte Raphael Y. Soliza wrote:
>> I think there's nothing wrong with the implementation and
>> documentation. True, an erronous implementation of <=> will still work
>> if this is the implementation, but if we use exact comparisons such as
>> == -1, trichotomy might be broken. For example, if two comparable
>> objects of the same class, say a and b, are compared, and a is neither
>> less than, equal, nor greater than b, then what is the relationship of
>> a to b? This will give us a hint that the implementation of <=> is
>> incorrect, and that's good, but I believe it's better (and safer) to
>> have a fallback. If we throw an error that results from <=> returning
>> a value other than -1, 0, and 1, then it might have an impact to
>> efficiency especially in sorting huge array of values because we added
>> an overhead of checking if the value returned is correct.
>>
>> On 4/1/07, *David Flanagan* <david@davidflanagan.com
>> <mailto:david@davidflanagan.com>> wrote:
>>
>> Replying to my own post...
>>
>> Let me add that the existing numeric <=> operators all do appear to
>> strictly return -1, 0, or +1. That is, they don't simply return
>> y-x to
>> compute a value less than, equal to, or greater than zero. This
>> would
>> argue that the current documentation of Comparable is correct, but
>> that
>> the implementation is written so that it works even for broken <=>
>> operators.
>>
>> Anyway, I should say that it was probably presumptuous of me to
>> assume
>> that the documentation is incorrect. Everything I've seen in writing
>> says that <=> must return -1,0, or +1. The implementation in
>> compar.c
>> makes it appear that this is not the case, however. I was not able to
>> find any discussion of the return value of <=> in the ruby-talk
>> archives...
>>
>>
>>
>> --
>> "Life is unfair... but beautiful."
>> Scarlette Krimson
>
>