[#29270] Proposal: Module#thunk_method — Charles Oliver Nutter <headius@...>

Many people use define_method solely so they can define a new method

13 messages 2010/04/06

[#29293] URI.(un)escape deprecated? — Marc-Andre Lafortune <ruby-core-mailing-list@...>

Hi.

16 messages 2010/04/07
[#29366] Re: URI.(un)escape deprecated? — Tanaka Akira <akr@...> 2010/04/08

2010/4/7 Marc-Andre Lafortune <ruby-core-mailing-list@marc-andre.ca>:

[#29313] [Bug #3112] require "yaml" doesn't use psych as default — Usaku NAKAMURA <redmine@...>

Bug #3112: require "yaml" doesn't use psych as default

28 messages 2010/04/08
[#29315] [Bug #3112] require "yaml" doesn't use psych as default — Yui NARUSE <redmine@...> 2010/04/08

Issue #3112 has been updated by Yui NARUSE.

[#29336] Re: [Bug #3112] require "yaml" doesn't use psych as default — Aaron Patterson <aaron@...> 2010/04/08

On Thu, Apr 08, 2010 at 02:06:55PM +0900, Yui NARUSE wrote:

[#29395] [Bug #3119] [Patch] "IOError (closed stream)" error with tempfile unlink then close usage — Simon Nicholls <redmine@...>

Bug #3119: [Patch] "IOError (closed stream)" error with tempfile unlink then close usage

9 messages 2010/04/09

[#29427] [Bug #3124] SocketError on SnowLeopard (during make test-all) — Aaron Patterson <redmine@...>

Bug #3124: SocketError on SnowLeopard (during make test-all)

10 messages 2010/04/11

[#29462] [Feature #3131] add Kernel#Hash() method like Kernel#Array() — Suraj Kurapati <redmine@...>

Feature #3131: add Kernel#Hash() method like Kernel#Array()

10 messages 2010/04/11

[#29464] [Bug #3132] …/nokogiri-1.4.1/ext/nokogiri/nokogiri.bundle: [BUG] Bus Error — Ashley Williams <redmine@...>

Bug #3132: …/nokogiri-1.4.1/ext/nokogiri/nokogiri.bundle: [BUG] Bus Error

8 messages 2010/04/12

[#29486] [Bug #3140] gem activation has changed between 1.8 and 1.9 — Aaron Patterson <redmine@...>

Bug #3140: gem activation has changed between 1.8 and 1.9

102 messages 2010/04/13
[#31002] [Bug #3140] gem activation has changed between 1.8 and 1.9 — Aaron Patterson <redmine@...> 2010/07/02

Issue #3140 has been updated by Aaron Patterson.

[#31003] Re: [Bug #3140] gem activation has changed between 1.8 and 1.9 — Yusuke ENDOH <mame@...> 2010/07/02

Hi,

[#31005] Re: [Bug #3140] gem activation has changed between 1.8 and 1.9 — Yehuda Katz <wycats@...> 2010/07/02

We are about to ship a version of Ruby with a built in package manager with

[#29489] Re: [Bug #3140] gem activation has changed between 1.8 and 1.9 — Evan Phoenix <evan@...> 2010/04/13

After a brief discussion with Eric Hodel about this, there are a few questions before we can figure out how to solve this:

[#29513] Re: [Bug #3140] gem activation has changed between 1.8 and 1.9 — Evan Phoenix <evan@...> 2010/04/14

Is there any comment on this? This is a big bug in 1.9.2 that we'd like to get fixed as soon as we can, but I need some input on it.

[#29526] Re: [Bug #3140] gem activation has changed between 1.8 and 1.9 — Rich Kilmer <rich.kilmer@...> 2010/04/15

I wrote this original code in gem_prelude.

[#31104] [Bug #3140] gem activation has changed between 1.8 and 1.9 — Yusuke Endoh <redmine@...> 2010/07/07

Issue #3140 has been updated by Yusuke Endoh.

[#31108] Re: [Bug #3140] gem activation has changed between 1.8 and 1.9 — Roger Pack <rogerdpack2@...> 2010/07/07

> I've commited the patch to trunk.

[#31193] Re: [Bug #3140] gem activation has changed between 1.8 and 1.9 — Yusuke ENDOH <mame@...> 2010/07/11

Hi,

[#31223] Re: [Bug #3140] gem activation has changed between 1.8 and 1.9 — Roger Pack <rogerdpack2@...> 2010/07/12

> Roger, could you re-try to build from scratch? ould you apply

[#31215] [Bug #3140] gem activation has changed between 1.8 and 1.9 — Yehuda Katz <redmine@...> 2010/07/12

Issue #3140 has been updated by Yehuda Katz.

[#31218] Re: [Bug #3140] gem activation has changed between 1.8 and 1.9 — Yukihiro Matsumoto <matz@...> 2010/07/12

Hi,

[#29528] [Bug #3150] net/https peer verification doesn't do anything — Hongli Lai <redmine@...>

Bug #3150: net/https peer verification doesn't do anything

11 messages 2010/04/15

[#29578] [Bug #3163] SyntaxError when using variable which is also a method in current scope with a Symbol argument — Benoit Daloze <redmine@...>

Bug #3163: SyntaxError when using variable which is also a method in current scope with a Symbol argument

17 messages 2010/04/17
[#29583] [Bug #3163] SyntaxError when using variable which is also a method in current scope with a Symbol argument — caleb clausen <redmine@...> 2010/04/18

Issue #3163 has been updated by caleb clausen.

[#29641] [Feature #3176] Thread#priority= should actually do something — caleb clausen <redmine@...>

Feature #3176: Thread#priority= should actually do something

28 messages 2010/04/19

[#29710] [Bug #3185] File.expand_path repeats forward slashes at the beginning of the path — Brian Ford <redmine@...>

Bug #3185: File.expand_path repeats forward slashes at the beginning of the path

10 messages 2010/04/21

[#29835] [Bug #3212] ConditionVariable may become inconsistent for interrupted threads — Sylvain Joyeux <redmine@...>

Bug #3212: ConditionVariable may become inconsistent for interrupted threads

24 messages 2010/04/28

[#29868] [Bug:trunk] assert now passes non-boolean result — Nobuyoshi Nakada <nobu@...>

Hi,

15 messages 2010/04/29

[ruby-core:29596] Re: [Feature #1408] 0.1.to_r not equal to (1/10)

From: Matthias Wächter <matthias@...>
Date: 2010-04-18 06:17:00 UTC
List: ruby-core #29596
Am 20.09.2009 06:17, schrieb Marc-Andre Lafortune:
> Sorry to be late to the party on this one.

I’m late as well ;)

> It is important to remember that a Float is always an approximation.

No. It is an approximation only for:

• conversion from most decimal numbers, especially floats, and
• calculations that drop digits.

You can do exact math in a limited range of operations, and the question 
should be whether the approximation approach should overrule this exact 
math range of use, especially considering that conversion back to 
decimal _could_ be done precisely, however, sometimes requiring a bunch 
of digits.

> 1.0 has to be understood as 1.0 +/- EPSILON, where the EPSILON is platform
> dependent. 1.0 is not more equal to 1 than to 1 + EPSILON/2. Indeed, there
> is no way to distinguish either when they are stored as floats.

If what’s stored in the Float _is_ your precise result, you certainly 
would not ask for precision reduction just because it _could_ have been 
the result of an imprecise calculation.

> To believe that Float#to_s loses data is wrong.

I think there should be both a Float#to_s and Float#to_nearest_s. The 
first would be precise, the second would output the “shortest” decimal 
representation within ±EPSILON/2.

> If r.to_s returns "1.2", it implies that 1.2 is one of the values in the
> range of possible values for that floating number. It could have been
> 1.2000...0006. Or something else. There is no way to know, so #to_s chooses,
> wisely, to return the simplest value in the range.

This is based on the assumption that no-one would ever care about 
Float’s precision.

> There are many rationals that would be encoded as floats the same way. There
> is no magic way to know that the "exact" value was exactly 12/10 or
> 5404319552844595/4503599627370496, or anything in between. All have the same
> representation as a float. There is no reason to believe that the missing
>(binary) decimals that couldn't be written in space allowed where all 0.
> Actually, there is reason to believe that they were _probably_ non zero,
> because fractions that can not be expressed with a finite number of terms in
> their expansion in a given base all have a recurring expansion. I.e. if the
> significand does not end with a whole bunch of zeros (rational has finite
> expansion) then it probably ends with an infinite pattern (say 011011011 in
> binary, or 333333 in decimal).
>
> For any given float, there is one and only one rational with the smallest
> denominator that falls in the range of its possible values. It is currently
> given by Number#rationalize, and I really do not understand why #to_r would
> return anything else.
>
> I cannot see any purpose to any other fraction. Moreover, the current algorithm,
> which returns the middle of the range of possibilities, is platform dependent
> since the range of possibilities is platform dependent. That makes it even less
> helpful.

> Is there an example where one would want 0.1.to_r to be
> 3602879701896397/36028797018963968 ?

If the binary/Float’s representation of 
3602879701896397/36028797018963968 is the real result of the 
calculation? How do you know?

> Do we really think that 0.1.to_r to be 3602879701896397/36028797018963968
> corresponds to the principle of least surprise?

False assumption here. Using floats for exact decimal math already 
violates POLS. Don’t blame the messenger, i.e. the converter back to 
decimal, the only part of the game that could _always_ be precise.

> Note that I'm writing that fraction but with a different native double
> encoding, the fraction would be different.

Sure. Great to have different levels of precision/imprecision from the 
computers.

And portability is not always the issue, otherwise there would have 
never been different native floating point precisions.

– Matthias

In This Thread