WebAssemblyでLISPインタプリタを書いた WebAssemblyでLISP 1.5の処理系を書いた。 超高速WebAssembly入門 まずは このページ を読もう。 WebAssemblyのデータ型 WebAssemblyには基本的に整数型と浮動小数点数型しかない。具体的には i32, i64, f32, f64 の4種類。 文字列はC言語のように整数の並びとして表現する。 WebAssemblyのメモリ WebAssemblyにはデータを置く場所として、 スタック、ローカル変数、グローバル変数、メモリがある。 メモリはアドレスを介したアクセスができる。 逆に言えばスタック、ローカル変数、グローバル変数はアドレスを取得できない。 アドレス経由でアクセスしたいものはメモリに置く必要がある。 ;; 初期値0のグローバル変数 (global $gp (mut i32) (i32.c