TL;DR WASMって凄いね.JavaScript処理系すら実装できるんだって. ならブラウザはWASMだけをサポートすれば楽なんじゃないかな. という考察記事です. 経緯 私は少し前からRustでJavaScript処理系を書いています.(まだまだ機能不足ですが) ある日,ふと思いました.Rustで書いてるんだからWASMに変換するのも楽なんじゃないか?と. 面白そうなので,試してみたわけです. 意外と面倒だった RustからWASMへと変換する方法を説明した記事は,調べればいくらでもでてきます.無論そのとおりに手を動かしてみるわけです. しかし,いざやってみるとコンパイラに結構文句を言われます.考えてみれば当たり前ですが,libcなんて使っていたらWASMには変換できません. なので余分なコードは削り,WASMに変換できるようコードを書き直しました. すると,すんなりWASMに変換す
![ブラウザがJavaScriptを直接サポートしない世界 - Qiita](https://cdn-ak-scissors.b.st-hatena.com/image/square/e8d48e859c6c122973b8def75aa29096979ecc7b/height=288;version=1;width=512/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fcdn.qiita.com%252Fassets%252Fpublic%252Farticle-ogp-background-412672c5f0600ab9a64263b751f1bc81.png%3Fixlib%3Drb-4.0.0%26w%3D1200%26mark64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTk3MiZoPTM3OCZ0eHQ9JUUzJTgzJTk2JUUzJTgzJUE5JUUzJTgyJUE2JUUzJTgyJUI2JUUzJTgxJThDSmF2YVNjcmlwdCVFMyU4MiU5MiVFNyU5QiVCNCVFNiU4RSVBNSVFMyU4MiVCNSVFMyU4MyU5RCVFMyU4MyVCQyVFMyU4MyU4OCVFMyU4MSU5NyVFMyU4MSVBQSVFMyU4MSU4NCVFNCVCOCU5NiVFNyU5NSU4QyZ0eHQtYWxpZ249bGVmdCUyQ3RvcCZ0eHQtY29sb3I9JTIzMjEyMTIxJnR4dC1mb250PUhpcmFnaW5vJTIwU2FucyUyMFc2JnR4dC1zaXplPTU2JnM9ZmRmMjcyOTY2N2UxMjhlMjI4ODY5YTEzNDA5OWE1MGQ%26mark-x%3D142%26mark-y%3D57%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZoPTc2Jnc9NzcwJnR4dD0lNDB1aW50MjU2X3QmdHh0LWNvbG9yPSUyMzIxMjEyMSZ0eHQtZm9udD1IaXJhZ2lubyUyMFNhbnMlMjBXNiZ0eHQtc2l6ZT0zNiZ0eHQtYWxpZ249bGVmdCUyQ3RvcCZzPTI3YmRjYzVlYzVlODFlNzFjNzllYjYxMDQ1MjM1NTkz%26blend-x%3D142%26blend-y%3D486%26blend-mode%3Dnormal%26s%3Ddd4bcbea3fa1bed60d2672b94fe07a07)