こんにちは、xhl_kogitsune です。2017年は Chromium の module script 実装の Blink 側の半分とかを作っていました。 今日は Chromium Browser Advent Calendar 20日目として、ES6 Modules のエラー報告の仕様(とChromium実装)を決定的(deterministic)にした話をします。 ES6 Modules は、モジュール間の依存関係を元にネットワークから複数の JavaScript ファイルをダウンロードしてきて実行してくれる便利な機構ですが、モジュールになんらかのエラーがあった時、エラー報告の挙動が非決定的であるという仕様上の問題がありました。今回はこの問題が認識され解決される過程を解説します。 グラフ理論の問題を考える、アルゴリズムを提案しあい反例を挙げあう、決定的だの可換だののワードが飛び交

