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 |