00:10
<bradleymeck>
rkirsling: is there a better short phrase?
00:16
<rkirsling>
bradleymeck: oh it just made me wonder what would be "denying"
00:16
<bradleymeck>
the ability to make a new reference to the value in question without being passed it
00:16
<bradleymeck>
basically you can't prevent someone from being able to get a reference =? it cannot be denied access
00:17
<bradleymeck>
term comes from the ocap focused members within tc39 so it kind of makes sense to be so terse
00:18
<rkirsling>
hmm I see
01:23
<jmdyck>
why not just "accessible"?
01:24
<bradleymeck>
jmdyck: things are accessible even if you can deny them by deleting globally accessible references. undeniable is a subset of accessible
01:25
<jmdyck>
the implementation can delete, or some other ES code can delete?
01:25
<bradleymeck>
there is just a lot of undocumented murkiness here, but the import part is about if something is deniable, not if it can be accessed
01:26
<bradleymeck>
jmdyck: that is also murky (see things where __proto__ are being deleted these days by runtimes)
01:26
<ljharb>
jmdyck: if first-run code can prevent you from getting to it, it's deniable
01:26
<ljharb>
that's the definition
01:26
<ljharb>
(because the only security model that exists in JS is "being first-run code")
01:26
<bradleymeck>
pretty much
01:27
<bradleymeck>
you have to apply other things ontop of running first to get other guarantees
01:27
<jmdyck>
hm, so now I'm wondering how anything is undeniable
01:32
<bradleymeck>
jmdyck: usually via prototypes being stuck on things, even if you don't have a ref to String.prototype, '' leaks it as its own prototype , https://github.com/Agoric/SES-shim/blob/05582658d61c4551472329a59ddca1455f256d23/packages/harden/src/anonIntrinsics.js#L78-L85
01:45
<rkirsling>
I guess if it were unobstructable / unobscurable then it would be straightforward but "undeniable" is colloquially a synonym "legitimate" hehe
01:45
<rkirsling>
*synonym for
01:46
<rkirsling>
(or well "unequivocal" would be more accurate than legitimate but whatever)
01:47
<rkirsling>
or more succinctly, "deny X" != "deny access to X"
01:48
<rkirsling>
but I realize this is wasted effort on my part lol
04:04
<ljharb>
jmdyck: anything accessible from syntax is generally undeniable
17:58
<jmdyck>
For single-word clarity, I like rkirsling's "unobstructable" / "unobscurable".
20:13
<devsnek>
why does pattern syntax use [empty] instead of _opt
20:18
<ljharb>
what's pattern synta
20:18
<ljharb>
x
20:18
<rkirsling>
is there anywhere that has the entire expansion be opt-marked?
20:18
<rkirsling>
I think that's why.
20:22
<devsnek>
like why `( GroupSpecifier Disjunction )`
20:22
<ljharb>
devsnek: destructuring? pattern matching?
20:22
<devsnek>
where `GroupSpecifier : [empty]` is a thing
20:22
<devsnek>
instead of just doing
20:22
<devsnek>
`( GroupSpecifier_opt Disjunction )`
20:22
<devsnek>
ljharb: regex
20:24
<ljharb>
ah k
20:25
<rkirsling>
ah that does seem weird
20:27
<rkirsling>
if you did that you could probably update the static semantics bits to talk about GroupName instead
20:28
<rkirsling>
ClassRanges too is weird like that
20:28
<rkirsling>
seems like an editorial opportunity to me
20:29
<devsnek>
also kind of weird because it allows like
20:30
<devsnek>
`/a|/`
20:30
<devsnek>
empty alternatives
20:32
<rkirsling>
I mean `Alternative: [empty]` could still be desirable
20:32
<rkirsling>
err ::
20:33
<rkirsling>
not sure off the top of my head how you'd get rid of it
20:36
<devsnek>
what do you call `?=` and `?!` and `?<=` and `?<!` in groups
20:36
<devsnek>
well i know ?<= is lookbehind
20:37
<rkirsling>
"lookaround", I believe
20:37
<rkirsling>
oh
20:38
<rkirsling>
s/oh//
20:39
<devsnek>
aha https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions/Assertions
20:39
<devsnek>
lookahead, negative lookahead, lookbehind, and negative lookbehind
20:39
<rkirsling>
oh, I thought you want a single name for all four
20:39
<rkirsling>
*wanted
20:39
<devsnek>
laoops
20:39
<devsnek>
oops*
20:40
<devsnek>
i'm trying to design a usable AST
23:04
<devsnek>
> If the file CaseFolding.txt of the Unicode Character Database provides a simple or common case folding mapping for ch, return the result of applying that mapping to ch.
23:04
<devsnek>
i nominate this as the most jank algorithm step