千秋楽
自作のLisp処理系のEasy-ISLisp本体はやり尽くしました。ISLisp規格にないモデュール、並列機能、TCP/IP通信などの拡張。コンパイラの改良、型推論・・・ 満足です。
最後の仕上げはLisp専用エディタです。時代に逆行したようなCUIエディタですが、これもまたレトロな雰囲気でオツなものです。バグをとり、改良をしほぼ満足のいく状態になりました。これが最後のLisp奉公。ご紹介いたします。
外観
tmuxを使っています。左側がエディタのEdlisです。右側がEasy-ISLispです。tmuxの設定ファイルでマウスで分割画面をいったりきたりできるようにしてあります。Emacsになれた人ならEmacsの画面移動ショートカットキーと同じにしておいてもいいかもしれません。
キーバインド
Edwinと互換、Emacsのほぼサブセットです。Emacs使いの人にも使えると思います。私はその昔、テキサスインスツルメント社のPC-Schemeを使っていた頃を思い出して、懐かしい気分です。キーバインディングはヘルプキーで説明が表示されます。ヘルプは CTRL+H です。
補完
ISLispと拡張関数について補完ができます。ESC Tab で補完します。
info
ISLispの組み込み関数について引数、戻り値、説明を表示することができます。説明が必要な関数名の後ろにカーソルを合わせておいてESC i で下段に説明が表示されます。
カッコ対応、オートインデント
Lispの場合にはカッコ対応、カッコ位置による適切なインデントが重要です。設定なしで適当にインデントし、対応カッコを強調表示します。
S式単位の移動、ワード単位の移動
Emacs,Edwinと同様です。
改造
OSSで、C言語で3000行程度です。簡単にカスタマイズできます。ドキュメントのEDLIS.mdに改造のヒントを書いておきました。ご自由に改造してください。C言語でカスタマイズできるのでLisp初心者でも改造は簡単です。
Lispのココロは自由
好きなように大改造してお楽しみください。何をどうしようとお好みのまま。自由にやれるのがLispの最大の魅力です。それはEmacsのやり方と違うなんて野暮なことは言いっこなしですよ。不条理なのが現実世界、せめてLispくらいは楽しくやろうじゃありませんか。
世の中はGUIが主流、VSCodeのようなバリバリに強力で素敵なエディタがあります。何を使おうと自由です。それがLispです。ISLispもこれが絶対に正しいなんて書法はありません。文法違反は動作しませんが、そうでなければ精一杯、試行錯誤しつつ楽しんでください。質問は難しいことでなければ私でもお答えできます。難しい質問は識者である五味先生がお答えくださるでしょう。五味先生も自由を愛するジョーク大好きな方とお見受けいたします。どうぞLisp、ISLispをエンジョイしてください。
参考
- ISLispについて http://islisp.org/index-jp.html
- wikipedia https://en.wikipedia.org/wiki/ISLISP
- Easy-ISLisp https://github.com/sasagawa888/eisl