| 10:20 | <Michael Ficarra> | FYI a student will be opening some PRs and issues related to https://github.com/tontonialberto/ecma262-spec-inconsistencies |
| 12:24 | <jmdyck> | They don't seem to be aware that there are semantically different uses for [[Foo]] notation. |
| 12:39 | <jmdyck> | or that objects don't have 'fields'. |
| 12:52 | <Michael Ficarra> | yes I spoke to him about that already |
| 12:52 | <Michael Ficarra> | he won't be opening a PR for that |
| 12:53 | <jmdyck> | the if/else stuff is valid, but he's missing some variations. |
| 12:58 | <Michael Ficarra> | those are the only ones he's interested in |
| 12:58 | <Michael Ficarra> | I also got a question today about what the repeat-until step's semantics should be https://tc39.es/ecma262/multipage/ecmascript-data-types-and-values.html#sec-bigintbitwiseop |
| 12:59 | <Michael Ficarra> | does it imply that the steps should be executed at least once? |
| 12:59 | <Michael Ficarra> | like a do-while with a negated condition |
| 13:00 | <Michael Ficarra> | by this, I mean ones that have the consequent/alternative on the same line as the if/else/else-if |
| 13:01 | <jmdyck> | CreateIntrinsics step 2 is indeed problematic, but I don't think it can be broken into a series of more-parseable steps. |
| 13:02 | <Michael Ficarra> | yeah I don't think it needs to be broken down, but its phrasing can probably be modernised |
| 13:03 | <Michael Ficarra> | and probably it would be better to explicitly loop over table rows |
| 13:04 | <jmdyck> | My inclination is that step 2 should become its own section, where you can at least let things breathe in separate paragraphs, lists. |
| 13:05 | <Michael Ficarra> | once he opens the issue about it, we can dump our ideas in there and I'll label it as "editor call" |
| 13:05 | <Michael Ficarra> | I think he was hoping that our changes to that step could get esmeta to automatically understand it, but I don't see that happening |
| 13:06 | <jmdyck> | The thing about explicitly looping over table rows is you can't make a single pass over the table and completely create an object at each iteration, because there are cycles in the references. |
| 13:07 | <Michael Ficarra> | ah, right |
| 13:07 | <Michael Ficarra> | you'd have to topo-sort the table, which is... not great if you want to peruse the table manually |
| 13:28 | <jmdyck> | You could conceivably do 2 passes, one pass to partially create the objects (without any references), then another pass to add the references (properties + [[Prototype]]). Then you wouldn't need a topo-sort. However, the spec says that built-in functions are created with CreateBuiltinFunction, which takes a prototype arg. So if you want to respect that, you have to do a topo-sort on [[Prototype]]. |
| 13:29 | <jmdyck> | The table wouldn't have to be topo-sorted in the source, CreateIntrinsics can just say to sort it, which is basically what it does now. |
| 13:29 | <jmdyck> | "The creation of the intrinsics and their properties must be ordered to avoid any dependencies upon objects that have not yet been created." |
| 13:30 | <jmdyck> | However, the implications of that sentence aren't obvious. |
| 13:38 | <jmdyck> | But even if that part of the algorithm were made more explicit, esmeta would probably still need one-off stuff to parse it. |
| 13:43 | <Michael Ficarra> | this isn't a KAIST student btw |
| 13:45 | <jmdyck> | And that'd still leave the ~half of step 2 that talks about how you invoke CreateBuiltinFunction. I suppose you could do something like:
|
| 13:46 | <jmdyck> | That would at least be more readable to humans. |
| 13:48 | <Michael Ficarra> | yeah that's exactly what I was thinking |
| 13:52 | <jmdyck> | Hm. So now I'm now more optimistic about breaking step 2 into substeps, but (a) they're not necessarily more parseable, and (b) it's not trivial. |
| 17:56 | <shu> | so for the week of july 7, we need a new time on either monday or friday |
| 17:56 | <shu> | my tue-thu literally have no free time |
| 17:57 | <shu> | Michael Ficarra: bakkot slots that work for you? |
| 17:57 | <bakkot> | after noon either day is currently free for me |
| 18:04 | <jmdyck> | Michael Ficarra: will there be videos of PLSS talks? |
| 21:34 | <bakkot> | jmdyck: https://www.youtube.com/live/r4imci31ntw?t=12168s |
| 21:34 | <bakkot> | unless you meant something else |
| 21:39 | <jmdyck> | That's PLDI, I was asking about PLSS this Friday. Some overlap in talks though. |
| 21:39 | <bakkot> | oh, sorry, I stopped reading after the first two letters apparently |
| 21:40 | <jmdyck> | heh |
| 21:43 | <jmdyck> | or I guess more specifically it was RPLS @ PLDI (vs PLSS @ ECOOP) |
| 21:48 | <Michael Ficarra> | I was asked for permission to record, so I guess that implies they will be recorded |
| 21:48 | <Michael Ficarra> | though my talk and Jihyeok's talk should be the same as RPLS |
| 21:48 | <Michael Ficarra> | or at least very very close |
| 21:49 | <jmdyck> | cool, thx |
| 21:52 | <Michael Ficarra> | you're gonna have to do before noon if we want to include Linus from now on (or move East) |
| 21:52 | <Michael Ficarra> | how about 11:30A Mountain? |
| 21:54 | <bakkot> | I was assuming we were just talking about the week of July 7 |
| 21:54 | <bakkot> | not a permanent slot |
| 22:34 | <shu> | think about a permanent slot too |
| 22:34 | <shu> | my tue-thu are completely full for the foreseeable future |