WebAssemblyはユニバーサルバイナリとも表現されます。どんな言語であってもWebAssemblyに変換できれば、各プログラミング言語にあるWebAssembly環境(機能拡張など)で実行できます。 そんな万能的に使えるWebAssemblyをあえてLuaに変換するのがwasm2luaです。

wasm2luaの使い方

変換例です。

$ npx wasm2lua add.wasm add.lua

サイズを比較しました。WebAssemblyに比べてかなり大きくなっています。

wasm2luaを使うことで別なプログラミング言語で作られたWebAssemblyファイルをLuaプロジェクトに取り込めるようになります。ファイルサイズから察するに、修正するのは大変そうですが、純粋なLuaとして使えるのは便利かも知れません。

wasm2luaはTypeScript製のオープンソース・ソフトウェア(MIT License)です。

SwadicalRag/wasm2lua: wasm2lua: converting WASM into Lua