2022-03 plenary bikeshedding slides
Possible criteria Syntactic clarityWould human readers often have difficulty with determining the syntax’s grouping?
ConcisenessIs the syntax significantly improve conciseness over the status quo?
Natural word orderIs the syntax’s word order more natural (e.g., subject.verb(object)) than the status quo?
Confusability with other JS featuresIs there a risk of beginners and other developers confusing the syntax with regular dot property access?
Confusability with other languagesIs there a risk of developers confusing the syntax with visually similar syntaxes from other languages – especially if they have different semantics?
Overlap with other JavaScript featuresDoes the syntax greatly overlap with other features of the language?
(Note: A finding from the January post-plenary overflow meeting says, “In general, some overlap is okay, but too much is bad; we have to decide this on a case-by-case basis.”)
This style was originally called “bind-this”, but we dropped function binding from it in 2022-03, so we renamed the style to “receiver first”.
rec :> fn(arg0) rec ~> fn(arg0) rec !> fn(arg0) rec -> fn(arg0) rec #> fn(arg0) rec ~~ fn(arg0)Receiver-first style (tight bracketed)
This style was originally called “bind-this”, but we dropped function binding from it in 2022-03, so we renamed the style to “receiver first”.
rec:>fn(arg0) rec~>fn(arg0) rec->fn(arg0) rec::fn(arg0) rec:.fn(arg0) rec-.fn(arg0) rec..fn(arg0)Receiver-first style (bracketed)
rec~[fn](arg0) rec rec#[fn](arg0) rec..[fn](arg0)Function-first style
This style was originally called “call-this”, but we are now calling it “function first” to distinguish it from receiver-first call-this. See the original explainer by @tabatkins.
This-argument styleFirst proposed by @rbuckton.
Original post@rkirsling brought up in Matrix a few days ago the reasonable concern that ->
may still be confusing to beginners with .
.
I would be GENUINELY scared at making every beginner worry about "was it
.
that I'm supposed to write? but there's also->
..."
->
is a charged symbol. It has precedent as “method call” in Perl and PHP, but this proposal is for an operator that simply “changes the receiver of a function”, which is related but different.
I’m not a huge fan of ::
, since that reads as “namespacing” to me, but I plan to tentatively switch back from ->
to ::
before the October plenary. There’s also ~>
and ~~
as possibilities. I don’t have any better ideas for its spelling right now.
zhangenming, Ginden and kawazoe
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4