| 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 |