[#121215] [Ruby master Bug#21166] Fiber Scheduler is unable to be interrupted by `IO#close`. — "ioquatix (Samuel Williams) via ruby-core" <ruby-core@...>

Issue #21166 has been reported by ioquatix (Samuel Williams).

13 messages 2025/03/02

[#121222] [Ruby master Bug#21167] Visual Studio 2022 17.13.x couldn't build ruby.exe — "hsbt (Hiroshi SHIBATA) via ruby-core" <ruby-core@...>

Issue #21167 has been reported by hsbt (Hiroshi SHIBATA).

8 messages 2025/03/03

[#121234] [Ruby master Bug#21168] Prism doesn't require argument parentheses (in some cases) when a block is present but parse.y does — "Earlopain (Earlopain _) via ruby-core" <ruby-core@...>

Issue #21168 has been reported by Earlopain (Earlopain _).

8 messages 2025/03/04

[#121389] [Ruby Bug#21187] Strings concatenated with `\` getting frozen with literal hashes (PRISM only) — LocoDelAssembly via ruby-core <ruby-core@...>

Issue #21187 has been reported by LocoDelAssembly (Hern=E1n Pereira).

12 messages 2025/03/17

[#121413] [Ruby Bug#21193] Inherited callback returns `nil` for `Object.const_source_location` — "eileencodes (Eileen Uchitelle) via ruby-core" <ruby-core@...>

Issue #21193 has been reported by eileencodes (Eileen Uchitelle).

15 messages 2025/03/20

[#121451] [Ruby Bug#21201] Performance regression when defining methods inside `refine` blocks — "alpaca-tc (Hiroyuki Ishii) via ruby-core" <ruby-core@...>

Issue #21201 has been reported by alpaca-tc (Hiroyuki Ishii).

8 messages 2025/03/27

[ruby-core:121292] [Ruby master Feature#21148] Class proposal: IndefiniteNumeric < Numeric

From: "mame (Yusuke Endoh) via ruby-core" <ruby-core@...>
Date: 2025-03-11 09:53:38 UTC
List: ruby-core #121292
Issue #21148 has been updated by mame (Yusuke Endoh).


Student (Nathan Zook) wrote:
> Suppose someone deals five cards face down from a regulation poker deck, and we wish to reason about the number of aces. We know that that number is one of zero, one, two, three, or four. Therefore, if someone asks "is this number larger than negative one?", the answer is yes even without ever needing to resolve the actual value.

What would `ace_count > 2` be, for example? Return true or false according to its probability? Raise an exception? Something else?

----------------------------------------
Feature #21148: Class proposal: IndefiniteNumeric < Numeric
https://bugs.ruby-lang.org/issues/21148#change-112256

* Author: Student (Nathan Zook)
* Status: Open
----------------------------------------
Suppose someone deals five cards face down from a regulation poker deck, and we wish to reason about the number of aces.  We know that that number is one of zero, one, two, three, or four.  Therefore, if someone asks "is this number larger than negative one?", the answer is yes even without ever needing to resolve the actual value.

This proposal is inspired by the proposed `Enumerable::Lazy::Length` class of Kevin Newton in response to #21135 

The `IndefiniteNumeric` class would serve as a base class for such values.  In particular, it relies on a subclass to define `#value`, which returns a definite `Numeric`.

```ruby
class IndefiniteNumeric < Numeric
   def coerce(other) = value.coerce(other)
   def +(other) = value + other
   def -(other) = value - other
   def *(other) = value * other
   def /(other) = value / other
   def <=>(other) = value <=> other
end
```

It is expected that in particular, `<=>` will be overridden for subclasses where `#value` might be slow to return.

Usually, we will know more than just that the value in question is `Numeric`.  It seems appropriate have `IndefiniteInteger` and so forth.  What is not clear to me is if `IndefiniteInteger` should be a subclass of `IndefiniteNumeric` or of `Integer`.  (Such a thing does not appear to be currently possible.)  If subclassing cannot be, what about defining `#kind_of?(Integer)` to be `true`?

Note: with the length of an `Enumerable` as inspiration, I would argue that an `IndefiniteInteger` might actually value to `Float::INFINITY`, so it should NOT define `<=>` against plus or minus `Float::INFINITY`.





-- 
https://bugs.ruby-lang.org/
 ______________________________________________
 ruby-core mailing list -- ruby-core@ml.ruby-lang.org
 To unsubscribe send an email to ruby-core-leave@ml.ruby-lang.org
 ruby-core info -- https://ml.ruby-lang.org/mailman3/lists/ruby-core.ml.ruby-lang.org/


In This Thread

Prev Next