[#25257] [Bug #2030] Math.gamma(x) seg faults for integer x larger than 2<<63-1 — Hiro Asari <redmine@...>
Bug #2030: Math.gamma(x) seg faults for integer x larger than 2<<63-1
[#25272] [Feature #2032] Change the license to "GPLv2+ or Ruby's original". — Yui NARUSE <redmine@...>
Feature #2032: Change the license to "GPLv2+ or Ruby's original".
Issue #2032 has been updated by Eric Hodel.
Issue #2032 has been updated by Shyouhei Urabe.
Issue #2032 has been updated by Kazuhiko Shiozaki.
On Fri, Sep 4, 2009 at 1:10 PM, Kazuhiko Shiozaki<redmine@ruby-lang.org> wrote:
Hi,
If readline's change in license is the primary reason for reevaluating
Issue #2032 has been updated by Shyouhei Urabe.
Hi,
> To avoid enbugging a new bug, we must choose the another solutions.
2010/6/6 Urabe Shyouhei <shyouhei@ruby-lang.org>:
(2010/06/06 20:27), Yusuke ENDOH wrote:
Hi,
On Tue, Jun 8, 2010 at 09:12, Yusuke ENDOH <mame@tsg.ne.jp> wrote:
Hi,
On Jun 14, 2010, at 22:48, Yusuke ENDOH wrote:
[#25275] Ruby platform interface — vondruch@...
On Wed, Sep 2, 2009 at 11:17 AM, <vondruch@amberg.cz> wrote:
Excerpts from message of Wed Sep 02 13:03:22 +0300 2009:
[#25285] [Feature #2033] Move Core Development to Git — Run Paint Run Run <redmine@...>
Feature #2033: Move Core Development to Git
Issue #2033 has been updated by Yui NARUSE.
> Some commiter of Ruby live on Windows.
Jon wrote:
2009/9/4 Urabe Shyouhei <shyouhei@ruby-lang.org>:
Michal Suchanek wrote:
2009/9/4 Urabe Shyouhei <shyouhei@ruby-lang.org>:
The point I suspect that a lot of those pushing for the move to git
On Sep 4, 2009, at 12:51 PM, Eleanor McHugh wrote:
Issue #2033 has been updated by Yukihiro Matsumoto.
On Sep 2, 2009, at 11:19, Run Paint Run Run wrote:
>> * Opens Ruby development to a wider range of contributors. Ruby- and
On Wed, Sep 2, 2009 at 4:29 PM, Eric Hodel<drbrain@segment7.net> wrote:
On Wed, Sep 2, 2009 at 19:50, Jeremy Kemper <jeremy@bitsweat.net> wrote:
Short summary:
On Sat, Sep 5, 2009 at 4:54 PM, Ron
On Sat, Sep 5, 2009 at 16:43, Rick DeNatale <rick.denatale@gmail.com> wrote=
Run Paint Run Run wrote:
Ruby is a basic infrastructure that needs to be stable. If it goes as agile as
[#25306] [Feature #2034] Consider the ICU Library for Improving and Expanding Unicode Support — Run Paint Run Run <redmine@...>
Feature #2034: Consider the ICU Library for Improving and Expanding Unicode Support
[#25360] [Bug #2043] incompatible character encodings — Vit Ondruch <redmine@...>
Bug #2043: incompatible character encodings
[#25367] [Bug #2048] Thread#raise: Handling of Current Exception — Run Paint Run Run <redmine@...>
Bug #2048: Thread#raise: Handling of Current Exception
[#25394] Unmaintained code (Was: Move Core Development to Git) — Eric Hodel <drbrain@...7.net>
On Sep 4, 2009, at 02:16, Urabe Shyouhei wrote:
On Sat, Sep 5, 2009 at 1:59 AM, Eric Hodel<drbrain@segment7.net> wrote:
I'll volunteer to maintain delegate.rb.
I'll volunteer to maintain English.rb and tempfile.rb.
I would gladly maintain find, observer & ostruct if that can be of any
I think that one responsibility of maintainers of a component should be
[#25420] [Bug #2054] Onigurma Isn't Documented — Run Paint Run Run <redmine@...>
Bug #2054: Onigurma Isn't Documented
[#25442] turning off indentation warnings — Aaron Patterson <aaron@...>
Is there a way in 1.9 to turn off only indentation warnings? I like
Hi,
Hi,
On Sep 22, 2009, at 8:19 PM, Nobuyoshi Nakada wrote:
On Sep 24, 2009, at 12:01 PM, Aaron Patterson wrote:
>>>> I've looked into adding a global variable. I think it looks better,
[#25506] [Bug #2072] Segmentation faults with libxml-ruby and ruby 1.9.1 — 賢司 高橋 <redmine@...>
Bug #2072: Segmentation faults with libxml-ruby and ruby 1.9.1
On Sep 9, 2009, at 11:05 PM, =E8=B3=A2=E5=8F=B8 =E9=AB=98=E6=A9=8B =
[#25540] [Bug #2095] Oniguruma No Longer Understands Unihan Characters — Run Paint Run Run <redmine@...>
Bug #2095: Oniguruma No Longer Understands Unihan Characters
[#25571] Implicit block argument in Procs — Cody Brocious <cody.brocious@...>
I ran into some block behavior I thought was a bit odd. Calling a
[#25587] Minimalist Ruby Install for Windows — Mike Hatfield <oakraven13@...>
Hi everyone,
[#25630] [Bug #2114] Array Hash inconsistency — Wim Yedema <redmine@...>
Bug #2114: Array Hash inconsistency
[#25632] [Bug #2117] Binding to a class, a method from the class's superclass's metaclass, fails — "Shane O'Brien" <redmine@...>
Bug #2117: Binding to a class, a method from the class's superclass's metaclass, fails
[#25634] Kernel.eval("local_variables",binding) bug in Ruby 1.9 — Howard Yeh <hayeah@...>
Hi,
[#25635] [Bug #2119] 'gem' method has problem when gems are in ~/.gem and no version requirement is given — Cezary Baginski <redmine@...>
Bug #2119: 'gem' method has problem when gems are in ~/.gem and no version requirement is given
Issue #2119 has been updated by Cezary Baginski.
[#25644] [Bug #2121] mathn/rational destroys Fixnum#/, Fixnum#quo and Bignum#/, Bignum#quo — Charles Nutter <redmine@...>
Bug #2121: mathn/rational destroys Fixnum#/, Fixnum#quo and Bignum#/, Bignum#quo
Charles Nutter wrote:
On Sat, Sep 19, 2009 at 12:28 AM, Joel VanderWerf
Hi,
On Sun, Sep 20, 2009 at 3:29 AM, brian ford <brixen@gmail.com> wrote:
[#25679] Ruby 1.9 pack('m') and unpack('m') not round tripping — Mikel Lindsaar <raasdnil@...>
Hello all,
[#25681] [Bug #2127] Fiber#resume - segfault inside C extension — Suraj Kurapati <redmine@...>
Bug #2127: Fiber#resume - segfault inside C extension
[#25709] [Bug #2131] f(not x) => syntax error — "James M. Lawrence" <redmine@...>
Bug #2131: f(not x) => syntax error
Issue #2131 has been updated by James M. Lawrence.
[#25756] syck maintenance? — Ryan Davis <ryand-ruby@...>
Has anyone taken this over?
Ryan Davis wrote:
There are about 15 open issues relating to yaml/syck.
[#25764] [Proposal] Maintainer confirmation and discharging process — Yugui <yugui@...>
2009/9/25 Marc-Andre Lafortune <ruby-core-mailing-list@marc-andre.ca>:
Hi,
[#25769] A challenge: Enumerator#next in JRuby — Charles Oliver Nutter <headius@...>
I have a challenge for anyone who wants to discuss, propose
For what it's worth, although solution 3 is not very pretty, it could
Hi,
On Fri, Sep 25, 2009 at 7:35 PM, Nobuyoshi Nakada <nobu@ruby-lang.org> wrote:
In article <f04d2210909251312q46bd51c0teacc4b0a8c417f0c@mail.gmail.com>,
On Fri, Sep 25, 2009 at 8:57 PM, Tanaka Akira <akr@fsij.org> wrote:
In article <f04d2210909252208k4fd66540u54a5d280613bb043@mail.gmail.com>,
On Sat, Sep 26, 2009 at 6:38 AM, Tanaka Akira <akr@fsij.org> wrote:
On Sat, Oct 17, 2009 at 3:31 PM, Charles Oliver Nutter
[#25796] [Bug #2144] Split functionality of Float#inspect and Float#to_s — Roger Pack <redmine@...>
Bug #2144: Split functionality of Float#inspect and Float#to_s
[#25820] [Feature #2152] Split functionality of Float#inspect and Float#to_s — Roger Pack <redmine@...>
Feature #2152: Split functionality of Float#inspect and Float#to_s
Issue #2152 has been updated by Roger Pack.
Hi,
Hi,
Issue #2152 has been updated by Marc-Andre Lafortune.
> Issue #2152 has been updated by Marc-Andre Lafortune.
Hi,
Hi,
[#25831] event hook in 1.9? — Ryan Davis <ryand-ruby@...>
> /**
Ryan Davis wrote:
[#25841] [ANN] Ruby Developer's Meeting 20091013 — Yugui <yugui@...>
Hi,
[#25853] [Bug #2160] JSON can't parse input where top-level object is a string — caleb clausen <redmine@...>
Bug #2160: JSON can't parse input where top-level object is a string
Issue #2160 has been updated by Tim Bray.
Tim Bray wrote:
[#25865] struggling to convince myself 1.9's constant lookup rules make any sense — "ara.t.howard" <ara.t.howard@...>
[#25876] Fate of Win32API.rb? — Jon <jon.forums@...>
Spelunking the ruby-core Nabble archives and Redmine hasn't yet shed any
Hello,
[ruby-core:25672] Re: [Bug #2121] mathn/rational destroys Fixnum#/, Fixnum#quo and Bignum#/, Bignum#quo
On Sun, Sep 20, 2009 at 3:29 AM, brian ford <brixen@gmail.com> wrote:
> Hi,
>
> On Sat, Sep 19, 2009 at 1:04 AM, Charles Oliver Nutter
> <headius@headius.com> wrote:
>> On Sat, Sep 19, 2009 at 12:28 AM, Joel VanderWerf
>> <vjoel@path.berkeley.edu> wrote:
>>> Perhaps it should be the responsibility of users of numeric operators to
>>> #floor explicitly when that is the intent, rather than rely on the (mostly
>>> standard, sometimes convenient, but questionable) 1/2==0 behavior. Doing so
>>> would make it easier to adapt the code to float, rational, or other numeric
>>> types.
>>>
>>> In your proposal, would Rational(1,3) be the preferred notation, since
>>> 1/3==0? Or would there be something else, 1//3 or ...?
>>>
>>> I've always thought of mathn as a kind of alternate ruby, not just another
>>> core library, hence to be used with caution...
>>
>> I think Brian Ford expressed what I feel best...there should always be
>> another method or operator. Using another operator or method is an
>> explicit "buy-in" by the user--rather than a potential (at some
>> undetermined time in the future) that everything you know about
>> integral division in your program changes wildly. It should not be
>> possible for any library to undermine the basic mathematical
>> expectations of my program. Doing so, or expecting the user to do
>> extra work to guarantee the *common case*, is a recipe for serious
>> failure.
>
> There are a number of issues combined here, but I think they generally
> reduce to these:
>
> 1. How do you model the abstractions that are number systems in the
> abstractions that are classes and methods.
> 2. Should the behavior of mathn be acceptable in the core language.
>
> We seem to think of the basic mathematical operations +, -, *, / as
> being roughly equal. But of these four, division on the integers is
> distinct. The set of integers is closed under addition, subtraction,
> and multiplication. Given any two integers, you can add, subtract, or
> multiply them and get an integer. But the result of dividing one
> integer by another is not always an integer. The integers are not
> closed under division. In mathematics, whether a set is closed under
> an operation is a significant property.
>
> As such, there is nothing at all questionable about defining division
> on the integers to be essentially floor(real(a)/real(b)) (where
> real(x) returns the (mathematical) real number corresponding to the
> value x, because the integers are embedded in the reals and the reals
> are closed under division). You basically have five choices:
>
> 1. floor(real(a)/real(b))
> 2. ceil(real(a)/real(b))
> 3. round(real(a)/real(b)) where round may use floor or ceil
> 4. real(a)/real(b)
> 5. raise an exception
>
> In computer programming, there are a number of reasons for choosing 1,
> 2 or 3 but basically it is because that's the only way to get the
> "closest" integer (i.e. define division in a way that the integers are
> closed under the operation) . Convention has selected option 1.
> Numerous algorithms are implemented with the assumption that integral
> division is implement as option 1. It's not right or wrong, but the
> convention has certain advantages. In programming, we are typically
> implementing algorithms, not just "doing math" in some approximations
> of these abstractions called number systems. Any system for doing math
> takes serious steps to implement the real number system in as
> mathematically correct form as possible.
>
> My contention that we should always have two operators for integral
> division is a compromise between the need to implement algorithms and
> the desire to have concise "operator" notation for doing more
> math-oriented computation. Given that programming in Ruby is more
> about algorithms than it is about doing math, it's unreasonable to
> expect (a/b).floor instead of a / b. At the same time, math-oriented
> programs are not going to be happy with a.quo b. The reasons for
> options 1 and 4 above are not mutually exclusive nor can one override
> the other.
Actually in most languages which I've encountered, and that's quite a
few. Mixed mode arithmetic has been implemented by having some kind of
rules on how to 'overload' arithmetic operators based on the
arguments, not by having different operator syntax.
And those rules are usually based on doing conversions only when
necessary so as to preserve what information can be preserved given
the arguments,
So, for example
integer op integer - normally produces an integer for all of the
'big four' + - * /
integer op float - normally produces a float, as does float op integer
As new numeric types are added, in languages which either include them
inherently or allow them to be added, this pattern is usually
followed.
Smalltalk has the concept of generality of a number class. More
general classes can represent more numbers, albeit with some potential
for adding 'fuzziness' in the standard image Floats are the most
general, then Fractions, then equally LargePositiveIntegers and
LargeNegativeIntegers (which together serve the same role as Bignum in
Ruby), then SmallInteger (Ruby's Fixnum).
> The mathn library is clearly exploiting an implementation detail. Were
> Ruby implemented like Smalltalk (or Rubinius), mathn would have never
> been written as it is. The fact that it is even possible to load mathn
> results from the fact that countless critical algorithms in MRI are in
> the walled garden of C code. That's not true for your Ruby programs.
> Any algorithm you implement that relies on the very reasonable
> assumption of integral division will be broken by mathn.
The problem with mathn is that it introduces new numeric types, and
also changes the behavior of the existing types, particularly integer,
so that when mathn is included
integer / integer produces a rational if the result can't be
reduced to an integer.
This is at odds with most languages and, as Charles points out, it
effectively changes the 'rules of physics' for other code which is
likely unaware that mathn has been introduced.
In Smalltalk, there is a standard Fraction class and integer division
does in fact return a Fraction rather than an Integer. But that's
known and expected by Smalltalk programmers.
>
> You can say, "but mathn is in the standard library, you have to
> require it to use it". But that ignores the fact that requiring the
> library fundamentally changes assumptions that are at the very core of
> writing algorithms. Essential computer programming and mathn can never
> coexist without jumping through hoops.
Yes this is a problem IMHO. The difference between Ruby and Smalltalk
here is that one language starts out including Rationals/Fractions,
and the other treats them as an optional add on which, when added,
changes the rules.
> This is the point were some grandiose scheme like selector namespaces
> are suggested. But I think the simple solution of two distinct
> operators handily solves the problem of the messy facts of
> mathematical number systems implemented in very untheoretic (i.e.
> really real) silicon.
>
> As for which symbol to select, what about '/.' for real(a)/real(b).
Well, first the problem we are talking about is Rationals, not Floats,
and second, what happens as more numeric classes are introduced.
Another alternative would be to change mathn (or maybe make a new
alternative mathn for compatibility for programs already using mathn)
which
1. Left 1 / 2 as producing the Integer 1
2. Allowed explicit instantiation of Rationals
* Rational.new(1,2) # i.e. make the new method public.
* Change Object#Rational to always return a Rational for an
integer argument, with a denominator of 1.
* Integer#to_rational which could be implemented as:
class Integer
def to_rational
Rational(self)
end
end
Then rational arithmetic could be implemented so that
5 / 3 => 1
5.to_rational / 3 => 5 / 3
5 / 3.to_rational => 5 / 3
(5.to_r / 3).to_i => 1
Which would be in-line with standard arithmetic in Ruby IMHO.
Note: it might be more ruby-like to name the coercion method to_r
instead of to_rational, but that might be confused by some as meaning
something else like to real, although I don't really thing that that
would be that much of an issue.
--
Rick DeNatale
Blog: http://talklikeaduck.denhaven2.com/
Twitter: http://twitter.com/RickDeNatale
WWR: http://www.workingwithrails.com/person/9021-rick-denatale
LinkedIn: http://www.linkedin.com/in/rickdenatale