02:38
<TabAtkins>
Every time someone says "non-function use-cases are contrived" I look back at all the times I've gone "fuck, I wish I had pipeline right now, this is kinda annoying to write" and how they're a pretty substantial mix of functions and operators and just go.... really?
02:39
<TabAtkins>
I fundamentally do not understand how this assertion can be made when I know for a fact how many times I, personally, want non-functions.
02:42
<TabAtkins>
personally i have a bunch of examples that would work equally well in either style, and a bunch of examples where hack avoids creating a bunch of extra arrow functions, and close to zero examples (but nonzero) where F# is simpler
Yes, this is my experience precisely. I often want to pipe into functions (sometimes unary, sometimes not; PFA would address the latter cases), but I also often want to linearize other things (mostly math stuff, calling methods on something complex, and of course await every. single. fucking. time).
17:04
<Richard Gibson>
I frequently want to construct e.g. a Map or Set, which currently requires new (as in … |> (entries => new Map(entries)) if tacit/point-free or … |> (new Map(^)) if not)
17:24
<jschoi>

Did we ever consider * as a topic token? f() |> g({ x: * }). I don’t remember why * was disqualified, if it was at all.

(Otherwise, the top runner is ^^, given @’s recent problems found by WH.)

17:24
<jschoi>
Is it because of yield *? (This is such a rare case that we could require it to be yield (*).)
17:27
<jschoi>
Or maybe it’s because of **f() |> g(**2) is terrible but we would probably require separation between topic * and binary */** anyway, just from the tokenization perspective. I probably wouldn’t be a big deal to make people use a space to disambiguate the tokenization here.