12:58
<jakobjingleheimer>
I'll use the time to review your node PR
15:05
<guybedford>
Thanks that would be great!
15:20
<nicolo-ribaudo>
https://github.com/tc39/ecma262/issues/3582 I think I found a bug with module evaluation
16:48
<guybedford>
good catch, it seems like we either need to clarify that it can be unset for errored modules, or to set it to some arbitrary value in this case
16:55
<guybedford>
another approach might be to move the CycleRoot set into the linking algorithm, but this would imply creating a proper equivalence between DFS for link and DFS for evaluate which doesn't currently exist
16:56
<guybedford>
The algorithm as written though, never did proper state transitions on error in evaluate (DFS transitions), and that was a property from the start. Sticking with that model would effectively mean just saying [[CycleRoot]] can be unset...
16:57
<guybedford>
I'm pretty sure this doesn't affects any real execution paths fwiw
17:23
<nicolo-ribaudo>
I opened https://github.com/tc39/ecma262/pull/3583, which defaults it to the module itself, and I think it's fine to do it in the error case
18:09
<guybedford>
Yeah I'm pretty sure that works, as an import to any module in an errored cycle should still find that error and throw it before trying further evaluations.
18:36
<shu>
nicolo-ribaudo guybedford as the only two people in the world who have this machinery in their heads, any ideas for editorially improving understanding?
18:37
<shu>
i was thinking maybe an interactive example?
18:37
<shu>
how do people teach graph algorithms?
18:38
<shu>
i learned graphs from dr greibach, who taught on transparencies...