01:05
<gibson042>
TabAtkins: JSON.stringify(obj, , "\t")
01:17
<TabAtkins>
Ah, instead of having to explicitly pass undefined
01:17
<TabAtkins>
I think just an empty arg is unreadable, but a shorter way to spell undefined would be nice. 😀
01:18
<TabAtkins>
(I'm aware of `void 0`, it's still dark magic in general.)
01:18
<Bakkot>
could just make a no-operator `void`
01:18
<Bakkot>
it'd be a new and exciting ASI hazard
01:19
<rkirsling>
not like it's doin' anything with that operand anyway
01:20
<rkirsling>
I actually don't hate the idea of just an extra comma but I think the typo potential makes it a nonstarter
01:20
<rkirsling>
(or at least would be blocked at stage 2, since the problem is valid)
01:53
<devsnek>
TabAtkins: gibson042: parameters, not arguments
01:54
<devsnek>
I'm tired of doing (_, __, ...
01:55
<jridgewell>
I could see an argument for doing it in params.
01:55
<jridgewell>
We have to do `unusedX` all the time
01:55
<devsnek>
we can't have a discard identifier like rust for example
01:55
<devsnek>
so why not borrow array elisions
01:57
<devsnek>
I guess you could use void
01:57
<devsnek>
is that an asi hazard
01:57
<devsnek>
I don't think it is
01:58
<Bakkot>
it's a hazard because `let a = void\nfoo()` is already legal
01:58
<Bakkot>
actually I guess that does the right thing either way
01:58
<devsnek>
that's not legal in function parameters
01:58
<Bakkot>
`let a = void\nfunction f(){}` is probably a better example
01:58
<Bakkot>
oh, yeah, I was talking about a general way of writing undefined
01:58
<devsnek>
ah
01:59
<devsnek>
well if we stopped being COWARDS and just pretended asi didn't exist maybe we could make this language GOOD
01:59
<Bakkot>
not a problem in argument lists, but it would be kind of weird to have an expression which is only legal in argument
01:59
<Bakkot>
especially for async arrows...
01:59
<Bakkot>
I don't want to parse that
02:00
<devsnek>
it's not worse than anything we already have
02:00
<devsnek>
but yeah I prefer elisions
07:49
<annevk>
How is https://twitter.com/felixfbecker/status/1286193386685435904 true?
12:46
<devsnek>
I half wish tagged templates had a symbol protocol
12:46
<devsnek>
then you could add support for stuff like console.log
12:48
<devsnek>
I guess it could also be like `function.isTemplateCall` or smth
13:16
<bradleymeck>
annevk: not true to my knowledge unless they were in shared memory some how?
13:17
<devsnek>
bradleymeck: I think the idea is you could do a memcpy instead of a structured clone
13:17
<devsnek>
not sure how that would turn out in practice thought
13:18
<devsnek>
though*
13:18
<bradleymeck>
devsnek: but symbols?
13:18
<devsnek>
yeah
13:18
<bradleymeck>
registered, sure
13:18
<devsnek>
not sure how it would turn out in practice
13:18
<bradleymeck>
non-registered... ????
13:18
<bradleymeck>
it would drop the identity I'd assume
13:18
<devsnek>
depends on the impl
13:19
<devsnek>
you can't ever compare them between threads so that doesn't matter
13:27
<annevk>
But we could do that for primitives already, in theory
13:28
<annevk>
Symbols throw FWIW
13:28
<annevk>
(cannot be serialized)
13:40
<devsnek>
i am *here* for `function bound get`
13:40
<devsnek>
why is my screenshot not working
13:41
<devsnek>
https://usercontent.irccloud-cdn.com/file/YUgtYQaK/63213692.png
14:03
<bradleymeck>
devsnek: you could compare them by round tripping
14:04
<devsnek>
bradleymeck: for impls that do ref equality that wouldn't work, for impls that do counting you would have to increment them i guess
14:05
<devsnek>
sucks to be the latter
14:05
<bradleymeck>
shared counters for life! (looking at you shared MS error codes)
14:27
<bradleymeck>
defaultdict in python inserts on [] but not on .get , interesting...
15:28
<shu>
annevk: i believe that can't be true without significant up-front implementation choices
15:28
<shu>
annevk: so i think i general it is not true -- it's true only in that people tend to impute a lot of performance possibility to things that are immutable
15:42
<Bakkot>
I usually have the opposite assumption
15:42
<Bakkot>
immutable = slow
15:43
<shu>
yes, i do too, but that doesn't stop the folk wisdom that immutable means things like free sharing
16:56
<devsnek>
ok so in rust there's this thing called `dbg!` and it takes its argument, prints it, and returns it
16:56
<devsnek>
i'm imagining something like
16:56
<devsnek>
`.then((r) => debug(r.json()))`
16:57
<devsnek>
maybe `.then((r) => debugger r.json())`
16:57
<devsnek>
would be nice to exist everywhere as a quick way to debug values
16:58
<bradleymeck>
bring back debugger operands?
16:58
<devsnek>
well if debugger operands are specified to return what they take sure
16:58
<bradleymeck>
special labels on debugger for now works
16:58
<devsnek>
the thing i specifically want is
16:58
<bradleymeck>
welcome to bespoke debugger tools
16:58
<devsnek>
`debug(v) -> v`
16:59
<devsnek>
so you can transparently insert it anywhere
16:59
<devsnek>
and in any js runtime
16:59
<bradleymeck>
`debugger()` isn't valid currently
16:59
<bradleymeck>
soooo
16:59
<devsnek>
yeah it could be that
17:00
<bradleymeck>
debugger`${why}`
17:00
<bradleymeck>
tagged templates would get funky
17:00
<devsnek>
i need to add all these things to my proposal idea list
17:01
<bradleymeck>
but syntax is a special form so it could just error
17:02
<devsnek>
added to list https://snek.dev/proposal-list
17:03
<bradleymeck>
function oof(, size) { return 'large'; }
17:03
<rickbutton>
snek.dev is such a great domain name
17:03
<devsnek>
ikr i love it
17:03
<devsnek>
i actually reserved it with gandi a year before .dev came out
17:03
<rickbutton>
I similarly reserved button.dev during the early bird period
17:04
<shu>
i don't know what to do with shu.dev really
17:04
<devsnek>
button is a good username
17:04
<devsnek>
put your hopes and dreams there
17:04
<rickbutton>
^
17:04
<shu>
i want to sell it to seton hall university for large amounts
17:04
<devsnek>
or your memes https://snek.dev/windows
17:04
<rickbutton>
invent a product called shu, sell it to company, profit
17:05
<shu>
maybe a thing to protect your feet from things on the ground
17:05
<devsnek>
genius
17:05
<rickbutton>
🤣🤣
17:05
<bendtherules>
Talk about impulse buy - typescript.co
17:22
<marja_>
re: outreach, pitching my blog post series "Understanding the ECMAScript spec" here: https://v8.dev/blog/understanding-ecmascript-part-4
17:22
<rkirsling>
marja_: it's an excellent series!
17:22
<marja_>
thanks you! :)
17:23
<marja_>
*thank (argh, no edit button, what is this, twitter?)
17:24
<rkirsling>
(haha seriously)
18:15
<leobalter>
marja_: that's great indeed! The TC39 How We Work could point out to those posts. Also, I hope you can make this a recorded presentation, I'd love to share it!
18:20
<marja_>
leobalter, thanks for the idea, i'll see what i can do :)
18:21
<leobalter>
marja_: I have a recorded talk being presented this Saturday (in pt-br) that relates to these posts. I'm showing how we observe points of the specs that can be tested
18:22
<leobalter>
and it goes from a simple method to a simple syntax grammar notation
18:22
<leobalter>
(I needed to fit it in 30 minutes)
18:24
<marja_>
leobalter, oh, that sounds cool. with pt-br you mean, the talk will be in portuguese? if so, sadly i won't be able to understand it
18:25
<ystartsev>
marja_, leobalter what do you think about featuring that series on the website?
18:25
<ystartsev>
tc39.es
18:26
<leobalter>
ystartsev: that was my suggestion, so I'm totally supportive
18:26
<ystartsev>
leobalter: oh i misunderstood, i thought you meant the how we work repository
18:26
<leobalter>
ystartsev: but also, your videos are extremely helpful too
18:26
<leobalter>
ystartsev: I tend to see tc39.es and how we work as the same thing :P
18:26
<ystartsev>
yeah i think we can start collecting those resources on the website. it would make it more of a resource for peoplee
18:27
<ystartsev>
we should also publish the contents of the how we work repository _on_ the website
18:27
<marja_>
ystartsev, i support linking to the blog series from wherever people think is useful
18:27
<leobalter>
marja_: yes, in portuguese, for a Brazilian online event. I plan to later convert it to English as I'll present it internally. I believe I can then make it public
18:27
<ystartsev>
marja_: great, i will open issues
18:28
<marja_>
sounds great, thanks
19:46
<devsnek>
bradleymeck: https://docs.google.com/presentation/d/1TuLDmcjXuQmV3s6_thYCAlPaBLHO7ZM9pmCbS0oYcKw/edit#slide=id.p
19:46
<devsnek>
need to replace text with codeblocks but general idea is there
19:56
<bradleymeck>
devsnek: no share?
19:56
<devsnek>
oh sec
19:58
<devsnek>
bradleymeck: fixed
20:24
<leobalter>
I wish we could split all the ArrayBuffer/TypedArrays/DataView parts in a separate document. Not optional to ECMAScript, but easier to navigate and get references.
20:24
<devsnek>
i wish we could split the entire spec
20:24
<devsnek>
into multiple files
20:24
<devsnek>
for both authoring and viewing
20:24
<leobalter>
same
20:25
<rkirsling>
+100
20:25
<devsnek>
people with potato devices literally can't view the spec
20:26
<leobalter>
I remember ljharb saying he doesn't want to lose the references on git history, but in my case it's not something I care that much.
20:26
<ljharb>
`git blame` is pretty important to me
20:26
<leobalter>
for Test262 the latest version is good enough and using previous edition releases are just fine
20:26
<ljharb>
splitting up the rendering is something that we should focus on first anyways, since the convenience of spec readers matters far more than that of spec authors
20:27
<Bakkot>
PRs for https://github.com/tc39/ecmarkup/issues/151 welcome
20:28
<devsnek>
wow i'm everywhere
20:32
<rkirsling>
lol
20:54
<jridgewell>
I would recommend loading the spec in Firefox
20:55
<jridgewell>
Chrome takes 1m before allowing searching
20:55
<jridgewell>
Firefox is maybe 5s
20:55
<ljharb>
works fast in safari for me
20:55
<devsnek>
jridgewell: i would recommend loading everything in firefox :P
21:20
<jmdyck>
devsnek: in dbg! slides, doSomething changes from "* 2" to "+ 1"
21:20
<devsnek>
jmdyck: business logic moves fast
21:20
<devsnek>
:^)
21:20
<devsnek>
i'll fix it some time in the next two months, thx
21:20
<jmdyck>
heh
21:44
<jmdyck>
ljharb: My review of 2065 is in progress
21:44
<ljharb>
oh great, thanks
21:44
<ljharb>
it needs another editor review before it can land anyways, but good to get yours in asap
21:45
<Bakkot>
jmdyck btw we talked about the infinity thing and are probably going to try to add extended mathematical values which include infinity
21:45
<Bakkot>
I am going to make a PR against 2007 as soon as I get a chance
21:46
<Bakkot>
so much to do, so much to do
21:46
<michaelficarra>
can we just call them reals and extended reals?
21:47
<michaelficarra>
the MV term is so long
21:47
<devsnek>
we could call them real mathematical values and extended real mathematical values
21:47
<jmdyck>
I stopped work on 2007 when my static analyzer broke and I wasn't sure how to fix it.
21:47
<rkirsling>
proposal for ω please
21:48
<Bakkot>
jmdyck hopefully I will get it into a state where your analyzer works again!
21:48
<jmdyck>
are you doing anything with the time stuff?
21:49
<Bakkot>
let me check
21:49
<Bakkot>
I see that I noted that all the date math operates on numbers as if they were mathematical values
21:49
<Bakkot>
so, yes, probably I will try to fix that
21:51
<Bakkot>
also, if you are inclined to, if you push up your ecmaspeak branch with whatever work you've done on it I will run it as I work on this and see where it chokes, which will probably suggest a place I need to fix anyway
21:51
<jmdyck>
yeah, all the emu-eqns look like mathematical, but the builtins are dealing with numbers, and it's not clear where the conversions should occur.
21:53
<Bakkot>
all the emu-eqns in the Date section, specifically?
21:54
<jmdyck>
that's what I meant, yeah.
21:54
<Bakkot>
got it
21:54
<Bakkot>
will note to self to fix
22:00
<bradleymeck>
emplace/upsert/newname is looking at splitting the proposal for whoever remains interested : https://github.com/tc39/proposal-upsert/issues/31
22:10
<jmdyck>
ljharb: I've submitted my review of 2065. There's more analysis I want to do, but it probably wouldn't end up touching 2065 particularly.