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 record of the discussion in the 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 of the meeting are scheduled according to when/where we can reserve Matz's time.
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.)
Example:
* [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.
It is recommended to add a comment by 2024/01/14. We hold a preparatory meeting to create an agenda a few days before the dev-meeting.
Your comment is mandatory. We cannot read all discussion of the ticket in a limited time. We appreciate it if you could write a short summary and update from a previous discussion.
Matz asked for specific use cases, so here are some:
Debugging/Code Discovery: Similar to Method#source_location, it would be
useful to know where a module/class was defined (especially in large
codebases).
Doing a global search for module Foo is not always helpful because
nesting might make it harder to find the right one. It can also come from
a Gem.
This can help navigating new codebases much easier/faster.
Documentation: It would be useful to know where a module/class was defined
when reading the documentation. RDoc could use this to list all the places
where a module/class was defined.
I think we should list all the locations, so it should be Module#source_locations
This is a collection of 5 optimizations, some of which are independent.
The 4th and 5th allow for a performance optimization not currently possible, when using anonymous splats or ... argument forwarding instead of named splat forwarding.
I expect these optimizations to have the most impact, after code is updated to switch to anonymous splats or ... forwarding.
Currently, the patch slows down yjit-bench with YJIT, because YJIT does not implement the new instructions, or contain the same optimizations.
I expect yjit-bench with YJIT will speed up if YJIT implements the same optimizations.
Is it OK to merge the pull request as-is, or to merge a subset of the optimization patches?
[Bug #5179] Complex#rationalize and to_r with approximate zeros (jeremyevans0)
Discussed last at the January 2020 developer meeting (as part of #5321).
Considering we have Float#to_r, can we change Complex(1, 0.0).to_r to return Rational(1,1), as Complex(1, 0.0.to_r).to_r does?
[Bug #19918] Should a[&b]=c be syntax valid? (jeremyevans0)
This is currently valid syntax, and there are tests for it.
Should we change this to invalid syntax?
If we keep this syntax:
It currently evaluates c before b.
Should it be fixed to evaluate b before c?
[Bug #19542] Operations on zero-sized IO::Buffer are raising (jeremyevans0)
[Feature #18576] Rename ASCII-8BIT encoding to BINARY (eregon)
Can we experiment for 3.4 by making ASCII-8BIT the alias? If we have pushback based on actual code then let's go more conservative, but otherwise I think we should do the clean/consistent fix here.