12:40
<yulia>
you know what, i will write up my view on pipeline and also the intersection. i very much like jschoi and TabAtkins blog posts, i think they went a long way in furthering this discussion in an archivable way. thanks for the inspiration you two.
16:05
<shu>
i'd prefer to skip the overtime discussion today and read the results later
16:05
<shu>
but am willing to come if folks anticipate implementation questions?
17:00
<jschoi>
but am willing to come if folks anticipate implementation questions?
I don’t anticipate any implementation questions; it’s mostly high-level.
17:09
<jschoi>
Well, other than the question of PFA syntax and throwaway-callback construction…
17:09
<jschoi>
…but I think you’ve already expressed your concerns about that clearly enough before, Shu; we’ll continue to keep them in mind in the disucssion.
18:01
<TabAtkins>
Reminder: dataflow meeting starting now
18:02
<sarahghp>
Reminder: Let me in!
18:02
<sarahghp>
😉
18:02
<sarahghp>
it's at the meet not the jitsi yes?
18:07
<ljharb>
the Meet, yes
18:08
<jschoi>
Wait, we’re in the Jitsi!
18:13
<ljharb>
HE Shi-Jun: fwiw i don't see any mention in the extensions proposal repo of other languages
19:01
<rbuckton>
TabAtkins: What would you think about an alternative to call-this that didn't use :: to indicate a different argument order? I'm thinking about something like fn(this: x, y).
19:01
<TabAtkins>
oh huh
19:01
<TabAtkins>
I guess i'm not too against
19:02
<sarahghp>
do we have data on "everyone is doing OO"?
19:02
<rbuckton>
Would be more cohesive with real named argument support, as opposed to object binding patterns.
19:28
<rbuckton>
It also would leave :: for something else rather than locking it up for a very small capability.
19:30
<TabAtkins>
okay yeah i'm getting more in favor of the this-tagging syntax
19:30
<TabAtkins>
i forget, i know there was some syntax issues with using : in arg lists for named args, right?
19:32
<rbuckton>

Is there? : is only used in JS for:

  • labeled statements
  • case/default clauses
  • property assignments in object literals/object patterns
  • conditionals

I'm not aware of any other conflicts offhand.

19:32
<TabAtkins>
I just know that foo(argname: val) has been discussed for JS in the past and been rejected; maybe just because options-args swallow enough of the use-case to not make it worthwhile
19:33
<rbuckton>
keyword: might be fine though?
19:34
<TabAtkins>
might be, like i said, i'm just vaguely remembering something and might be off on the details
19:40
<jschoi>
That’s a good idea, Ron.
19:40
<jschoi>
I will make the bikeshedding thread focused on the three choices:
19:41
<jschoi>
thisArg::ƒ(arg0)
19:41
<jschoi>
ƒ@.(thisArg, arg0)
19:41
<jschoi>
ƒ(thisArg: arg0)
20:02
<rbuckton>
jschoi: Not thisArg, as that would be a regular identifier. Specifically the keyword this:. So:
ƒ(this: thisArg, arg0)
20:11
<rbuckton>

It would work for PFA too and avoids the bind-this overlap, i.e.: ƒ~(this: thisArg, ?)

// NOTE: transposition is an approximation (does not capture eager evaluation of PFA)
f~(?)               // _ => f(_)

o.f~(?)             // note: binds `o` as `this`
                    // _ => o.f(_)

f~(this: ?)         // _ => f(this: _)
                    // _ => f.call(_)

f~(this: x, ?)      // note: binds `x` as `this`
                    // _ => f(this: x, _)
                    // _ => f.call(x, _)

o.f~(this: ?)       // _ => o.f(this: _)
                    // _ => o.f.call(_)

o.f~(this: x, ?)    // note: binds `x` as `this`
                    // _ => o.f(this: x, _)
                    // _ => o.f.call(x, _)

o.f~(this: ?, ...)  // note: uncurry `this`
                    // (_, ...args) => o.f.call(_, ...args)
20:20
<jschoi>
Why can’t the colon alone distinguish? f(receiver:).
20:20
<jschoi>
Is it because it would preclude general named-argument syntax?
20:25
<rkirsling>
yeah I don't mind this new idea either. I'm sorry that my thoughts in the call were disorganized
20:25
<rkirsling>
I think I prefer options that keep the receiver inside the parens.
20:30
<jschoi>
Feel free to leave a new comment on https://github.com/tc39/proposal-bind-this/issues/10. Jordan just did.
21:51
<Justin Ridgewell>
HE Shi-Jun: fwiw i don't see any mention in the extensions proposal repo of other languages
I’d also like to look at examples.
22:33
<Justin Ridgewell>
I just know that foo(argname: val) has been discussed for JS in the past and been rejected; maybe just because options-args swallow enough of the use-case to not make it worthwhile
It's not apparent that the arg name is public, and renaming it now causes breaking changes.
22:48
<Justin Ridgewell>
When do we want to publish the adhoc notes?
22:48
<Justin Ridgewell>
After 2 weeks with the rest of the plenary notes?
23:07
<jschoi>
At the meeting, I said I’d do it about two days from now, but with the plenary notes makes sense too I guess.
23:14
<Justin Ridgewell>
I think everyone that spoke edited their responses, actually.
23:15
<Justin Ridgewell>
At least, I say several editing afterwards.
23:38
<jschoi>
Yeah, everyone edited during and for a few minutes after the meeting. (Thanks everyone for your help.) So I’ll probably just stick with publishing in a couple of days.