シンガポールで開催された WebAssembly Workshop @ ICFP/SPLASH 2025 で Scala から WebAssembly へのコンパイラについて発表してきました。
国内外いろんな国のインターネット上でお互い認知していた人たちとたくさん話すことが出来て本当に楽しかった。行って、発表して良かった〜。
スライドとyoutubeはこちら(他の発表も聞けます)

話したいことは話せたけど、youtube見返してみるとう〜ん結構淡々としたトーンだな〜、もうちょっと抑揚つけてはきはき喋らんかいという感じだ。次は頑張ります。
WebAssembly Workshop
初めての国際的なWasmイベント参加だった。
[Keynote] Keynote and SpecTec demo
Andreass Rossberg 先生のキーノートでは Wasm 3.0 Completed という話と、Wasmの良いところはformal semanticsがちゃんと定義されているところで〜(昔Standard MLに感銘を受けたらしい)からのSpecTecというWasm3.0に採用されている仕様記述のためのDSLを使って mini Wasm の言語仕様を記述するデモをしてくれた。

[Keynote] Wasm GC and the Future of High-Level Language Compilation
Grain 言語作者である Oscar Spencer さんによるキーノート
GrainはもともとGCをWasm moduleに組み込む形のtraditionalな実装をしていた(ちなみにGrainはreference counting GC)が、最近WasmGCへのポートをしており、VMによっては数倍のパフォーマンス向上を実現できたとのこと。
僕の発表ではWasmGCの説明はしなかったが、彼の発表ではWasmGCの基本的な説明もしてくれたのでありがたかった(発表順逆なら良かったね)

ちなみに Oscar Spencer さんは僕がよく聞いている WebAssembly Unleashed - YouTube podcast のホストをしており、ファンだと伝えられて良かった。
Hyperlight-Wasm: Bringing virtualisation-based security to Wasm, and using Wasm at Microsoft
超軽量VMM Hyperlight の上で Wasm を実行する hyperlight-wasm に関する発表。Wasm は軽量sandboxを提供するとはいえ、それはランタイムに脆弱性がない場合の話なのでVM内でWasmランタイムを実行することでextra securityを実現するもの(kata-container と同じですね)。で、Hyperlightは従来のVMMに必要な機能/処理をWasmに特化することでいくつか削ることでより高速化できるようになるという話。システムレベルで何が起きているかについて話していたので正直あまりついていけなかった。
残念ながら動画は公開されていない。
Microsoft では Azure Front Door Edge Action や Excel for Web や Azure IoT Hub などでも Wasm 活用がされているとのこと
Efficient Concolic Execution of WebAssembly by Compilation and Snapshot Reuse
従来の Concolic Execution Engline は インタプリタ型とinstrumentation型があり、インタプリタ型はsnapshotの再利用が可能だが遅い、instrumentation型は高速だがsnapshot活用ができない。この研究では(正直イマイチ何をしているのか分からなかったが)それぞれの良いとこ取りをするとのこと。これはWasmだからできた話なのか、それともConcolic Execution一般の話なのかよく分からなかった。もうちょっと調べたい。

Debugging WebAssembly? Put some Whamm on it!
Wasm Workshop ではないが、Wasm のデバッグに関する話。dTrace のようなシンタックスで Wasm の instruction の周辺に instrument したり柔軟なデバッグを実現するとのこと。
instrument には、プログラムの書き換えはせず、エンジンレベル(現状はwizard engineのみ)で独立した Wasm module を実行する仕組みで、これによりそれぞれの instrument するプログラムの独立性とcomposabilityを確保するとのこと。instrument したプログラムが線形メモリ破壊したりしたら怖いもんね、でもmultiple memoryでも良いのでは?とはいえ完全な独立性のためにはプログラムのglobalなどにもさわれない方が良いか?
Component Model はどうですか?と聞いたが、Component Model はインターフェースが定まっていないといないといけないので、動的にinstrumentのenable/disableの切り替えが難しいとかで使ってないとのこと。
シンガポール旅行
シンガポールは話に聞いていたとおり、夜でも安全でとても清潔な国だった。小さいカフェやショッピングモールのトイレまでめちゃくちゃ綺麗でビビる。国際都市なだけあっていろんな国の食べ物があって、屋台やホーカーセンター(フードコート的なところ?)でいろいろ食べるのはすごく楽しかった/美味しかった。
Satayと肉骨茶 pic.twitter.com/etaIkKneCr
— tanishiking👑 (@tanishiking) October 17, 2025
カヤトーストは、間のバターがごつすぎてあまり好きではなかった & コピは砂糖が甘すぎて苦手だったが、カヤジャム自体は栗ジャムみたいでかなり好みだったのでお土産に持って帰って食べてます。
街全体としては、リトルインディアみたいなあたりを除くと、中心部はだいたい丸の内 or みなとみらい みたいな感じなギラギラした高層ビルが並んでいるという感じだった。多くのものがショッピングモールや高層ビルに集約されていて、あまりマレー文化は残っておらず、人混みなギラついた場所が苦手な自分にはずっと大都会と巨大イオンモールを歩いているような落ち着かなさを感じていた。あと、外は30度くらいでじんわり蒸し暑い一方で、屋内はガンガンにエアコンがついていて寒くて、寒暖差がやばすぎてかなり体力を持っていかれた。
マリーナベイサンズで高い金払ってラグジュアリな体験するみたいな旅行は良さそうだけど、それ以外は結構 not for me な感じであった。次は別な東南アジア行ってみたいな