00:27
<devsnek>
I think for future large changes like class fields it would be nice to split them into multiple commits
00:44
<bakkot>
it's certainly nicer that way, but it's often a great deal of work
00:45
<bakkot>
I'd be open to doing it if it's something many people would get a lot of benefit from
00:47
<devsnek>
i can't speak for anyone else but i would certainly benefit from it
01:18
<littledan>
We did a bunch of work to maintain them separately for a while across rebases but it was ultimately merged
01:19
<littledan>
It would help to know why anyone would benefit
01:19
<littledan>
Engines did not end up slicing up shipping based on the proposal split
01:20
<devsnek>
oh i don't mean by the individual field types
01:20
<littledan>
The state of the language with the different subsets is well-documented; it wasn't clear to me what multiple commits would give us
01:20
<devsnek>
i mean like, there is a lot of refactoring across various things that happened to enable "class fields" in the general sense
01:21
<littledan>
OK, well, it sounds like you're asking for an even more involved factoring then
01:21
<devsnek>
going over thousands of lines of diff to understand what changed is a very difficult way to figure it out
01:21
<littledan>
I dunno, I am happy to answer questions
01:22
<littledan>
But basically no existing semantics changed, only new things were added
01:25
<ljharb>
i'm hearing gus' request as, smaller git commits so that one can choose to look at smaller chunks of conceptual additions at a time. which is definitely a difficult ask (but a nice to have), and on class fields in particular would have likely been exceedingly difficult since it was the combining of three repos
01:26
<devsnek>
yeah for example, moving classes from methods to fields, without adding all the new field kinds, might have been one step, idk
01:26
<devsnek>
i don't think it matters too much, the past is the past
01:37
<bakkot>
yeah, to be clear, it would definitely be an after-all-other-work-is-done refactoring
01:38
<bakkot>
which is pretty common for this type of thing, it's just a bunch of work
01:39
<ljharb>
in my experience it actually makes it much easier if you start out keeping commits separate, and keep followup changes split into separate commits that point to the ones they should be squashed into later - but it's definitely not a natural way of working with git for many
01:42
<devsnek>
git rerere can help a lot with allowing more commits
01:42
<devsnek>
for annoying rebases
01:47
<bakkot>
ljharb: if you do the work in a way where that works, yeah
01:47
<bakkot>
often there's a big refactor that happens across code touched by many commits, so often you kind of need to come up with the story you're going to tell once you have everything created
01:47
<bakkot>
which is probably what I would have done for class fields
01:47
<ljharb>
very fair point
03:24
<littledan>
If someone wants to contribute this history refactoring, we can probably find time in Igalia to review it, but we don't plan to spend time writing it ourselves.
03:25
<ljharb>
we wouldn't change the commits that have landed - it's more something to think about for future large PRs, i think
03:32
<bakkot>
yeah
03:32
<bakkot>
also probably would be something the editors would take on
03:35
<devsnek>
yes i don't think we should rewrite the history
03:35
<devsnek>
i was just saying it should be something to think about in the future
19:07
<devsnek>
has anyone ever proposed filter map
23:30
<ljharb>
wouldn't that be .flatMap((...args) => predicate(...args) ? [mapper(...args)] : [])?