はじめての「iPad上でLISP」
清水さんのこちらの記事の紹介を受けまして、進化的プログラミング、中でもプログラム同士を直接交配させる遺伝的プログラミングにとても興味を持ちまして、手元で手軽に実行できるiPad上で動作するLisp環境が欲しくなりました。早速構築してみましたので備忘録&シェア。
おかげさまで、iPad上にて、紹介いただいた進化的プログラミングを実行することができました!
![](https://assets.st-note.com/img/1727730290-LPEhVfaGJiCYlMg4W3TIUyQ2.png?width=1200)
1. iPad上にLinux環境を構築
1.1. iSHのインストール
Apple storeを探すと、Linuxを動かせそうなシェルの候補がいくつか出てきますが、その中でiSH Shellを選択しました。
![](https://assets.st-note.com/img/1727730657-31JSj6fqZExNz4sGvOFYrhnp.jpg?width=1200)
インストールは相当あっさり終わったと思います。立ち上げると以下のような画面が現れます。
動かしてみると、いたって普通のLinuxの構造をしていて、勉強用には十分な気がしました。
![](https://assets.st-note.com/img/1727730804-myq4lxkj8HdKIP36Dbg7npMT.png?width=1200)
1.2. iSH上のvi操作
エディタとしてviが入っています。通常のviと概ね同じ操作で使えましたが、2点知っておいた方がよいことがあるので備忘録。
ESCキーを、command + . で代用しました。
viを抜ける時は、q ではなくZZで抜けました。
iSHにデフォルトで入っているviの画面。写っているプログラムが昭和。
2. LISPのインストールと動作確認
紆余曲折を経ました。記録をシェア。
2.1. SBCLのインストール … インストールできたが動作せず
SBCLの正式名称はSteel Bank Common Lisp。SBCLは、プログラミング言語Lispの中で最も標準とされているCommon Lispの実装の一つです。
iSHは apk add <package> というコマンドでソフトをインストールできます。SBCLの場合は以下。
apk add sbcl
![](https://assets.st-note.com/img/1727733281-bFl6WHdZLg1NRPEuTCSXJc7v.png?width=1200)
しかし、これがうまく動作しませんでした。実行しても、最初のメッセージを出した時点で止まってしまいます …
![](https://assets.st-note.com/img/1727733406-5QwAZy3rBsLCboWeVNuj9mgn.png?width=1200)
2.2.clispのインストール … パッケージが存在せず
ないそうです。
![](https://assets.st-note.com/img/1727733613-FrZjCWVYpPy2HTImNnthoQ3x.png?width=1200)
2.3. ECLのインストール … 遺伝的プログラミングまで成功!
ECLの正式名称はEmbeddable Common Lisp。CやPythonに埋め込んで使うことのできるLispとのことです。また、名前が示す通りCommon Lispの実装です。
インストールはあっさり成功し、基本的なLISP構文も動作しました!
![](https://assets.st-note.com/img/1727734541-fQ13KoRMOAPCNtBvuGcaDI7y.png?width=1200)
その後、清水さんのプログラムを実行したら、冒頭で紹介した通り動作した、というわけです。
3. ちなみに
iSH上でgccはインストール成功、cc, pythonはインストールできず
以下の通りです。また、gccをインストールできたといっても、stdio.hなどの設定ができておらず、プログラミングには至っていません。
![](https://assets.st-note.com/img/1727734997-YSA5gdTUXR94k0cIDhrmLnWv.png?width=1200)
まあ、PythonはGoogle Colabがあるからいいんですが・・・Cをいつでも気軽にプログラミングできるiPad環境欲しいですね。
Win11上ではSBCLが快適に動作してます
こんな感じ。
![](https://assets.st-note.com/img/1727735536-nk5CwF2vzPJ8KBuOZcELgSiT.png?width=1200)
清水さんの進化的プログラミング実行Lispスクリプトも無事動作してます。
![](https://assets.st-note.com/img/1727735736-ePFQlhaO9iTspIUH1zNgyW74.png?width=1200)
まとめ
iPad上でも気軽にLISPプログラミングできる環境を作れました。iSH + Embeddable Common Lispの組み合わせでした。