01:13 | <Domenic> | annevk: Domenic I don't know if it matters much, but the return value of parse a JSON string to an infra value seems inconsistent to me. Rather than always returning a completion record, it returns an "throw" completion record on failure and a infra value on success |
02:45 | <jugglinmike> | Domenic: Right. I was thinking about how it seems to return a completion record in some cases and an infra value in others. When I remembered the "implicit normal completion" section in ECMAScript, I thought that might explain things here, because if it also applies to the Infra spec, it would mean that the algorithm always returns a completion record. |
02:45 | <Domenic> | It always either returns an Infra value or throws an exception. |
02:46 | <jugglinmike> | But an Infra value is not a completion record, right? |
02:46 | <Domenic> | Correct. It never returns a completion record. |
02:48 | <jugglinmike> | Oh, huh. So a throw completion is not a completion record? |
02:49 | <jugglinmike> | That can't be it. "throw completion refers to any Completion Record with a [[Type]] value of throw." |
02:51 | <jugglinmike> | Here's where I'm getting confused: I can't square the statements that "[the algorithm] never returns a completion record" and "[the algorithm] always either returns an Infra value or throws an exception", given that "returning a throw completion record is the same as throwing an exception" |
03:47 | <sideshowbarker> | At Google is there a current Developer Advocate for WebAssembly? (I know it used to be Ingvar Stepanyan) |
08:53 | <annevk> | jugglinmike: it makes sense to me; it returns an Infra value or throws an exception (which is inclusive of returning a throw completion record as that's the same thing) |
18:02 | <jugglinmike> | annevk: So could we also say, "it returns an Infra value or it returns a throw completion record"? |