Misc #15996
closedDevelopersMeeting20190829Japan
Added by mame (Yusuke Endoh) about 5 years ago. Updated almost 5 years ago.
Description
Please comment on your favorite ticket numbers you want to ask to discuss with your SHORT comment or summary.
(your summary/comment will help us because we don't need to read all of the ticket comments)
DO NOT discuss then on this ticket, please.
Date: 2019/08/29 (Thu)
Time: 13:00-17:00 (JST)
Place and Sign-up: https://connpass.com/event/139231/
log: https://docs.google.com/document/d/1XypDO1crRV9uNg1_ajxkljVdN8Vdyl5hnz462bDQw34/edit
NOTES¶
- 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.
Agenda¶
Next dev-meeting¶
About 2.7 timeframe¶
Check security tickets¶
Discussion¶
Please comment on your favorite ticket we need to discuss with the following format.
* [Ticket ref] Ticket title (your name)
* your comment why you want to put this ticket here if you want to add.
Your comment is very important if you are no attendee because we can not ask why you want to discuss it.
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.
We don't guarantee to put tickets in the agenda if the comment violates the format (because it is hard to copy&paste).
A short summary of a ticket is strongly recommended. We cannot read all discussion of the ticket in a limited time.
A proposal is often changed during the discussion, so it is very helpful to summarize the latest/current proposal, post it as a comment in the ticket, and write a link to the comment.
Updated by mame (Yusuke Endoh) about 5 years ago
I added the following note.
**A short summary of a ticket is strongly recommended. We cannot read all discussion of the ticket in a limited time.**
A proposal is often changed during the discussion, so it is very helpful to summarize the latest/current proposal, post it as a comment in the ticket, and write a link to the comment.
Please consider adding a short summary comment to the ticket you want us to discuss.
Updated by mame (Yusuke Endoh) about 5 years ago
Carry over.
- [Feature #11460] Unhelpful error message when naming a module with the same name as an existing class (nobu)
- [Misc #15805] Let memory sizes of the various IMEMO object types be reflected correctly (methodmissing)
- Only the imemo_tmpbuf type's auxiliary malloc heap buffer is factored into obj_memsize_of, other imemo types also alloc on the heap
- PR: https://github.com/ruby/ruby/pull/2140
- [Misc #15806] Explicitly initialise encodings on init to remove branches on encoding lookup (methodmissing)
- Currently rb_enc_from_index and related methods explicitly check for encoding table init on each call - I think this should be initialised at boot time instead as even the simple case of loading the interpreter requires the encoding table to be loaded anyways (symbol.c)
- PR: https://github.com/ruby/ruby/pull/2128
Updated by mame (Yusuke Endoh) about 5 years ago
- Related to Misc #14770: [META] DevelopersMeeting added
Updated by nobu (Nobuyoshi Nakada) about 5 years ago
- [Feature #12093] Eval InstructionSequence with binding
Updated by jeremyevans0 (Jeremy Evans) about 5 years ago
- [Bug #11326] Defining a writer as a Struct member allowed?
- Should we ban struct members ending in
=
? - Do we also want to ban struct members ending in
!
or?
?
- Should we ban struct members ending in
Updated by Glass_saga (Masaki Matsushita) about 5 years ago
Updated by sikachu (Prem Sichanugrist) about 5 years ago
- [Misc #15723] Reconsider numbered parameters
- Reading from description, I think there are a few supporters of removing
@1
,@2
in favor of just having@
refer to the first argument. - I also believe having just
@
is enough for major use cases, and for the readability of the code when multiple implicit receivers are used. - Proposal: Remove
@1
and@2
and have only@
for the first argument in Ruby 2.7+
- Reading from description, I think there are a few supporters of removing
Updated by ko1 (Koichi Sasada) about 5 years ago
Triage:
- [Feature #15998] Allow String#-@ to deduplicate tainted string, but return an untainted one
- taint removal schedule
- [Feature #15123] Enumerable#compact proposal
- [Feature #15854] Tracing instance variable assignment
- [Bug #9588] program name variables tainted
- [Feature #12802] Add BLAKE2 support to Digest
- [Feature #16001] Provide an alias to Kernel#caller_locations(1,1) and Kernel#caller(1,1)
- [Bug #7768] Inherited Array class missing
- [Bug #16007] Process.clock_getres matches the clock in practice for Process::CLOCK_{PROCESS,THREAD}_CPUTIME_ID FAILED fails on armv7hl
- [Feature #15975] Add Array#pluck
- [Bug #10463] :~@ and :!@ are not parsed correctly
- [Feature #10123] Named capture groups don't set local vars when matched using ~
- [Feature #16011] Digit grouping
- [Feature #16018] Add a way to deprecate methods
- [Bug #11935] Date.new returns inconsistent errors when passed invalid arguments
- [Bug #12230] Wrong exception raised when IO.read from a pipe is passed an offset on Windows
- [Bug #16020] Forbid
if
elsif
without a condition - [Bug #15244] Method #extname return empty string if filename is dot ('.')
- [Feature #15955] UnboundMethod#apply
- [Feature #15976] Add Array#overlap? for whether the intersection of 2 arrays is non empty?
- [Bug #15558] Should Exception#exception copy the backtrace?
if there is a time to check...
Updated by nobu (Nobuyoshi Nakada) about 5 years ago
- [Feature #15868] Implement
File.absolute_path?
Updated by nobu (Nobuyoshi Nakada) about 5 years ago
- [Feature #16029] Expose fstring related APIs to C-extensions
Updated by Eregon (Benoit Daloze) about 5 years ago
- [Feature #15778] caller_locations(debug: true) to access bindings of the stack.
- Can we introduce the API? If not, why not? If not, please propose a way to support such functionality on other Ruby implementations (e.g., JRuby, TruffleRuby).
Updated by nobu (Nobuyoshi Nakada) about 5 years ago
Updated by ko1 (Koichi Sasada) about 5 years ago
- Description updated (diff)
Schedule was changed!!
Before: 2019/08/20 (Thu) 13:00-17:00 (JST)
After: 2019/08/29 (Thu) 13:00-17:00 (JST)
Thanks,
Koichi
Updated by ko1 (Koichi Sasada) about 5 years ago
- Subject changed from DevelopersMeeting20190820Japan to DevelopersMeeting20190829Japan
Updated by nobu (Nobuyoshi Nakada) about 5 years ago
This was a missed carry-over on the last month.
- [Bug #15908] Detecting BOM with non-UTF encoding
Updated by zverok (Victor Shepelev) about 5 years ago
- [Feature #14781]
Enumerator.generate
. Patch provided; Matz seem to have liked the idea and name proposed, can we have it in 2.7? - [Feature #14784]
Comparable#clamp
with a range. Implementation details are discussed, but generally proposal seem to be acceptable? Can we have it in 2.7, should I provide a patch?
Updated by mtsmfm (Fumiaki Matsushima) about 5 years ago
- [Feature #15815] Add option to raise NoMethodError for OpenStruct (mtsmfm)
- We can use
Symbol#to_proc
with enumerable stuff when we use OpenStruct instead of Hash. For example:OpenStruct.new(JSON.parse(users)).map(&:id)
- But it can't prevent typo. For
Hash
, it hasHash#fetch
to raise KeyError.
- We can use
Updated by nobu (Nobuyoshi Nakada) about 5 years ago
- [Feature #16103] Make the dot-colon method reference frozen
Updated by k0kubun (Takashi Kokubun) almost 5 years ago
-
[Misc #16112] Reduce the possibility of "expand tabs" commit occurrences- Never mind. Resolved before the MTG thanks to @jeremyevans's comment.
Updated by mrkn (Kenta Murata) almost 5 years ago
- [Feature #15864] Proposal: Add methods to determine if it is an infinite range
- I proposed some candidates from mathematical terms
Updated by mame (Yusuke Endoh) almost 5 years ago
- [Feature#14183] "Real" keyword argument
- Jeremy and I agreed with Jeremy's proposal. I'd like to ask for matz's final confirmation.
Updated by mame (Yusuke Endoh) almost 5 years ago
- [Feature #16115] Keyword arguments from method calls or ignore extra hash keys in splat
- It proposes a triple splat (
foo(***opt)
) to pass a keyword hash with filtering out unknown keywords. What do you think?
- It proposes a triple splat (
Updated by mame (Yusuke Endoh) almost 5 years ago
- [Feature #15955] UnboundMethod#apply
- The ticket proposes a shortcut to
unbound_method.bind(obj).call(args...)
without allocation of a Method object. There are some use cases, and looks reasonable to me. What do you think?
- The ticket proposes a shortcut to
Updated by osyo (manga osyo) almost 5 years ago
Updated by zverok (Victor Shepelev) almost 5 years ago
Updated by Dan0042 (Daniel DeLorme) almost 5 years ago
- [Feature #10829] Add to_proc method to the Array class
- [Feature #12115] Add Symbol#call to allow to_proc shorthand with arguments
- [Feature #15302] Proc#with and Proc#by, for partial function application and currying
- [Misc #15723] Reconsider numbered parameters
- [Feature #15897]
it
as a default block parameter - [Feature #16113] Partial application
- [Feature #16120] Implicit block argument if block starts with dot-method call
- All proposals above are different ideas for a block shorthand more versatile than
(&:to_s)
- Insatisfaction with numbered parameters solution
- In #16120 I try to analyze the root issue common to all the above
- All proposals above are different ideas for a block shorthand more versatile than
Updated by duerst (Martin Dürst) almost 5 years ago
Dan0042 (Daniel DeLorme) wrote:
- [Feature #10829] Add to_proc method to the Array class
- [Feature #12115] Add Symbol#call to allow to_proc shorthand with arguments
- [Feature #15302] Proc#with and Proc#by, for partial function application and currying
- [Misc #15723] Reconsider numbered parameters
- [Feature #15897]
it
as a default block parameter- [Feature #16113] Partial application
- [Feature #16120] Implicit block argument if block starts with dot-method call
- All proposals above are different ideas for a block shorthand more versatile than
(&:to_s)
- Insatisfaction with numbered parameters solution
- In #16120 I try to analyze the root issue common to all the above
I know I shouldn't comment on individual issues here, but I haven't found a better way of commenting on this group of issues (maybe we should create a superissue): I think we should stop dealing with individual ideas of how to improve functional programming in Ruby and work out an overview of what's missing and how to address it, understanding that Ruby is first and foremost an OO language and we'll never get to the same point as Haskell or something similar.
Updated by shevegen (Robert A. Heiler) almost 5 years ago
I know I shouldn't comment on individual issues here
While I agree, one problem is that e. g. Dan0042 did not read the prior comments here - in
particular he linked in "[Misc #15723] Reconsider numbered parameters", which already was
linked in by sikachu. IMO, these issues become quite a lot of discussion work in general
and I am not sure matz has enough time to comment on every single one when people just
copy/paste new issues without looking whether others already linked these in. :\
Otherwise I agree with Martin's statement of "work out an overview of what's missing and
how to address it", in regards to the functional approach. I myself use ruby almost
exclusively from an OOP view (mostly); other ruby users seem to like a more functional
approach, such as zverok. Sometimes these styles seem to clash, in my opinion.
The dev-meeting discussions are great for others in the ruby community who are not e. g.
in japan, but this here is probably the longest individual issue tracker for any dev
meeting as of yet; I am not sure it is possible to discuss all of this in e. g. 4 hours.
But I digress too, apologies for that.
Updated by Dan0042 (Daniel DeLorme) almost 5 years ago
My apologies if I did something inappropriate. I did realize there was some duplication, I just thought these issues should be considered part of a single "package". 100% agree with @duerst (Martin Dürst), what he describes is what I was trying to do.
Updated by mame (Yusuke Endoh) almost 5 years ago
Looks like we have too many topics at the next meeting. Please do not expect all tickets to be discussed. Thank you for your understanding.
Updated by mame (Yusuke Endoh) almost 5 years ago
zverok (Victor Shepelev) wrote:
- [Feature #14781]
Enumerator.generate
. Patch provided; Matz seem to have liked the idea and name proposed, can we have it in 2.7?- [Feature #14784]
Comparable#clamp
with a range. Implementation details are discussed, but generally proposal seem to be acceptable? Can we have it in 2.7, should I provide a patch?
The two tickets were discussed at the past meetings. Next time, could you give us more informative short summary instead of "can we have it in 2.7?" We need to spend time to read the ticket to grab the progress from the previous discussion.
For example, the first issue is mainly a naming issue, so it would be helpful to list the proposed names. In the second one, akr pointed out the spec issue. (Do not call it "implementation details.") "Raising an exception is proposed for clamp(1...2)" would be even helpful.
@zverok (Victor Shepelev) Sorry for picking only your agenda, but for all people, please consider saving our time (especially matz's).
Updated by zverok (Victor Shepelev) almost 5 years ago
@mame (Yusuke Endoh) OK, sorry. I was not sure how the process looks internally (e.g. should I save the space and attention of the reader in agenda by just listing things shortly, or provide the full context in-place). Here are updated descriptions, just in case:
- [Feature #14781]
Enumerator.generate
: Matz seems to have liked the idea and name proposed; implementation patch provided; the name should be decided upon: eithergenerate
, or, maybe,produce
(looking like more-or-less oppose toreduce
) - [Feature #14784]
Comparable#clamp
with a range. The issue generally agreed on, except for behavior with upper bound with excluding-end range.ArgumentError
is proposed for this case.
Updated by mame (Yusuke Endoh) almost 5 years ago
@zverok (Victor Shepelev) Thank you!
Updated by mame (Yusuke Endoh) almost 5 years ago
- Status changed from Open to Closed