Misc #16775



Added by mame (Yusuke Endoh) over 3 years ago. Updated over 3 years ago.



The next dev meeting

Date: 2020/05/14 13:00-17:00

  • Dev meeting IS NOT a decision-making place. All decisions should be done at the bug tracker.
  • Dev meeting is a place we can ask Matz, nobu, nurse and other developers directly.
  • Matz is a very busy person. Take this opportunity to ask him. If you can not attend, other attendees can ask instead of you (if attendees can understand your issue).
  • We will write a log about the discussion to a file or to each ticket in English.
  • All activities are best-effort (keep in mind that most of us are volunteer developers).
  • The date, time and place are scheduled according to when/where we can reserve Matz's time.
  • DO NOT discuss then on this ticket, please.

Call for agenda items

If you have a ticket that you want matz and committers to discuss, please post it into this ticket in the following format:

* [Ticket ref] Ticket title (your name)
  * Comment (A summary of the ticket, why you put this ticket here, what point should be discussed, etc.)


* [Feature #14609] `Kernel#p` without args shows the receiver (ko1)
  * I feel this feature is very useful and some people say :+1: so let discuss this feature.
  • Comment deadline: 2020/05/07 (one week before the meeting)
  • The format is strict. We'll use this script to automatically create an markdown-style agenda. We may ignore a comment that does not follow the format.
  • Your comment is mandatory. We cannot read all discussion of the ticket in a limited time.

Related issues 1 (1 open0 closed)

Related to Ruby master - Misc #14770: [META] DevelopersMeetingOpenActions
Actions #1

Updated by mame (Yusuke Endoh) over 3 years ago

  • Related to Misc #14770: [META] DevelopersMeeting added
Actions #2

Updated by mame (Yusuke Endoh) over 3 years ago

  • Description updated (diff)

Updated by greggzst (Grzegorz Jakubiak) over 3 years ago

  • [Misc #16778] Should we stop vendoring default gems code? (greggzst)
    • it makes maintenance easier and removes the need for synchronization
    • removes confusion for external contributors
    • Ruby uses git so git submodules could be used
    • it's possible to setup CI to run against Ruby master

Updated by zverok (Victor Shepelev) over 3 years ago

  • [Feature #16812] Allow slicing arrays with ArithmeticSequence (zverok)
    • ary[(5..20) % 2]—each second element between 5 and 20
    • ary[(0..) % 3]—each third element
    • ary[10.step(by: -1)]—elements 10, 9, 8, 7 ....
    • Python has and uses it (in form of beg:end:step), and ArithmeticSequence and Range#% were introduced for this

Updated by ioquatix (Samuel Williams) over 3 years ago

  • [Feature #16815] Introduce Fiber#backtrace. (ioquatix)
    • Add Fiber#backtrace which gets any fiber backtrace. Very useful for debugging fiber state.
  • [Feature #16786] Light weight scheduler for improved concurrency. (ioquatix)
    • Please check it and confirm if we can merge it, or outline what changes are required.

Updated by k0kubun (Takashi Kokubun) over 3 years ago

  • [Feature #16806] Struct#initialize accepts keyword arguments too by default (k0kubun)
    • This obviates keyword_init: true. Is the described incompatibility and release plan (3.0: warn, 3.1: introduce) acceptable?

Updated by zverok (Victor Shepelev) over 3 years ago

  • [Feature #16822] Array slicing: nils and edge cases (zverok)
    • Never return nil from ary[start...end] even if out of arrays' bounds

Updated by stan3 (Tristan Hill) over 3 years ago

  • [Feature #9758] Allow setting SSLContext#extra_chain_cert in Net::HTTP (stan3)
    • useful to allow https with cert chain, small patch, few :+1s

Updated by shyouhei (Shyouhei Urabe) over 3 years ago

Updated by sawa (Tsuyoshi Sawada) over 3 years ago

  • [Feature #15771] Add String#split option to set split_type string with a single space separator (sawa)
    • Proposal by 284km. Allow splitting literally by " " when the argument is " ".

Updated by byroot (Jean Boussier) over 3 years ago

  • [Feature #16832] Use #name rather than #inspect to build "uninitialized constant" error messages (byroot)
    • As #name on Module and Class is more likely to return a proper constant name than #inspect

Updated by mame (Yusuke Endoh) over 3 years ago

  • [Feature #8661] Add option to print backtrace in reverse order (stack frames first and error last) (mame)
    • matz, could you check the spec of --suppress-backtrace? And should we change the name to --backtrace-limit or something?

Updated by k0kubun (Takashi Kokubun) over 3 years ago

  • [Feature #16837] Can we make Ruby 3.0 as fast as Ruby 2.7 with the new assertions? (k0kubun)
    • Do we have a policy on what kind of assertions should be always enabled and what should be CI-only, especially when it has impact on performance?

Updated by mrkn (Kenta Murata) over 3 years ago

  • [Feature #16827] C API for writing custom random number generator that can be used as Random objects (mrkn)
    • I need such a feature to implement custom RNGs in an extension library

Updated by Eregon (Benoit Daloze) over 3 years ago

  • [Feature #16254] MRI internal: Define built-in classes in Ruby with __intrinsic__ syntax (eregon)
    • Thoughts on using, b) instead of __builtin_name(a, b)?
    • I think this is an important opportunity to share more code between implementations.

Updated by Eregon (Benoit Daloze) over 3 years ago

  • [Feature #15921] R-assign (rightward-assignment) operator (eregon)
    • Could matz and other committers clarify the motivation to introduce this? There is no pipeline operator currently so it seems of limited usage.
    • Changing syntax often divides the community (e.g.,, should we be more careful when introducing new syntax?
      For instance, on syntax issues matz considers to merge, he could state his intention, tweet about the proposal, let it be for at least a month and then decide (merge or not).
      A blog post by ruby core would be another way to trigger feedback before merging.
      Often it feels like a decision "out of the blue" with no clear motivation. Discussion after merging feels suboptimal because people realize they have very little chance to change anything and so just love or hate it. Being in master doesn't help much because most people won't try it, yet they can share their opinion based on code snippets using the new syntax.
  • [Feature #16746] Endless method definition (eregon)
    • Is it intended to allow multi-line definitions? Seems redundant and likely to make code less readable (end for class/module/do/if/while/... still exist).

Updated by mame (Yusuke Endoh) over 3 years ago

  • [Feature #16828] Introduce find patterns (ktsj)
    • I implemented it as matz wanted it. Please discuss it on the dev-meeting.

Updated by ko1 (Koichi Sasada) over 3 years ago

  • [Misc #16803] Discussion: those internal macros reside in public API headers (ko1)
    • confirm the discussion.

Updated by byroot (Jean Boussier) over 3 years ago

  • [Feature #16847] Cache instruction sequences by default (byroot)
    • This make code loading about 30% faster.
    • All it's needed is to agree on where and how to store the cache.
  • [Feature #16848] Allow callables in $LOAD_PATH (byroot)
    • They would receive the relative path as first argument, and be expected to return an absolute path or nil
    • This would make implementing various lookup caching strategies in Rubygems/Bundler much easier and more accurate.
    • Such caching can yield massive boot time improvements.
Actions #20

Updated by mame (Yusuke Endoh) over 3 years ago

  • Description updated (diff)

Updated by mame (Yusuke Endoh) over 3 years ago

We've hold a dev-meeting at 14th, but could go through only half topics. We'll hold an extra meeting at 26th.


Updated by shevegen (Robert A. Heiler) over 3 years ago

mame wrote:

[...] We'll hold an extra meeting at 26th.


Actions #23

Updated by mame (Yusuke Endoh) over 3 years ago

  • Status changed from Open to Closed

Also available in: Atom PDF