サラブレッド
Common Lisp をAndroid上で使う方法について質問している人が結構います。なかなかまとまった情報が無いようです。
当然ですが、Maximaをコンパイルして使うことが出来る、十分な機能を持ったANSI準拠のCommon Lisp処理系をAndroid上でも使うことが出来ます。私はEmbeddable Common Lisp (ECL)を使っています。ECL自身はマルチプラットフォームをサポートしており、その配布元サイトは以下です。
ECL - a Common-Lisp implementation
Android上で使うためにはいろいろとパッチを当てる必要があるらしく、それを全てやって動くようにしたのがecl-androidです。いかがその配布元サイトです。
このページからgit cloneしてmake udpate;make androidすると実行可能なECLのバイナリが出来上がります。
この作業、難しくは無いのですが面倒ではあるので、私が作ったバイナリを公開しました。
YasuakiHonda/ECL-Precompiled-Binaries · GitHub
使い方は簡単です。
上記のページにいき、右側のカラムにある「Download ZIP」ボタンを押してzipアーカイブファイルをダウンロードします。解凍すると中にはecl及びecl-pie(及びReadme.md)というファイルがあります。eclはAndroid 4.X, ARM cpu用のバイナリです。またecl-pieはAndroid 5.0, ARM cpu用のバイナリです。
- adb push ecl /data/local/tmp
- adb shell
- cd /data/local/tmp
- chmod 755 ecl
- ./ecl
これで使うことが出来ます。ファイルを転送して,chmodしておけば、端末エミュレータアプリからも使うことが出来ると思います。
そのうち暇が出来たらIntel cpu用のバイナリも作るかもしれません。
Lispを使う人が増えることを願っています。