久しぶりに(このブログのタイトルにもなっている)Maximaの話題です。
Maximaをブラウザの中でローカルに動かすことに成功しているようです。
https://maxima-on-wasm.pages.dev/
にChromeなどのブラウザでアクセスするとMaximaが起動した画面が表示されます。入力プロンプトの後ろをクリックするとMaximaのコマンドを入力できてきちんと処理が実行されます。こんな感じです。

さらにブラウザの中でgnuplotも動いており、それと組み合わさって2Dや3Dのグラフ生成も動作します。
そしてその動作は全てブラウザ側で動作しており、サーバはWebサーバとしてファイルをホストしているだけです。計算も全てブラウザで行われておりサーバは関係しません。
この辺の仕組みを説明してみます。まずEmbeddable Common Lispというリスプ処理系がWASM(ウェブアッセンブリー)と呼ばれる技術に少し前に対応しました。WASMはブラウザ上で動く標準化された高効率な仮想機械言語です。MaximaはもともとECL上でも動作していたので、ECLのWASM対応を使って、今回MaximaもWASMに対応させた、ということになります。WebサーバはWASMにコンパイルされたMaximaのファイルをホストしているだけです。
WASM対応のgnuplotもすでにあったのでそれを組み合わせてグラフ出力も対応したそうです。
ざっと試したところPC, Android, MacのGoogle Chrome, MacのSafariでは同じように動きました。さすがのマルチプラットフォームです。下記はAndroid Chromeでの実行画面です。フォントの大きさが少し変ですが、それ以外は全く同じです。
