Lispの広い普及を願って


はじめに

私はLispからは引退、老兵は去るべきと思っていました。カレンダーも満杯となっているのを見て安堵していました。しかし、なぜか1日分だけ未投稿のまま残ってしまっています。どうも放置できずにしゃしゃり出ることにしました。

親しみやすいLispを目指して

まつもとさんに悪気はないのでしょう。単なる例だと思います。しかし、Lispがマイナーな状況にあることは認めざるを得ません。多くの人に知ってもらい親しみを感じてもらうこと、そして若い新規ユーザー数が増加していく必要があるように思います。中学生、高校生くらいの人たちにLispの面白さを知ってもらうのが近道だろうと考えました。そしてラズパイに注目しています。安価ですのでお小遣いでも買うことができます。2016年から開発を継続しているEasy-ISLispはラズパイをメインと考えています。

簡単なインストール

Easy-ISLispはOSSでありGitHubにて公開しています。先日、Reddit/LispにYoutube動画とともに紹介文を投稿してみました。動画はラズパイにインストールする様子を収録したものです。予想に反してけっこうなリプライがありました。面白がってもらえたようです。
https://www.youtube.com/watch?v=KfrRyKMcTw8

簡易なCUIエディタ

Easy-ISLispのLinux版にはCUIエディタが付属しています。多くのLispユーザーは開発環境としてEmacsを使っているものと思います。とても高機能であり投稿に返信をいただいた方もEmacsを愛する方のようです。しかし、一方でその方はCUIエディタが付属していることに興味をもってくれました。動画に対して下記のメッセージをいただきました。

This is very nice! I am impressed that you bothered to implement
your own editor and REPL with syntax highlighting.

中学生や高校生の人がLispに興味をもってくれたとして、動かすためにEmacsの詳細な設定をしていると、Lispを始めようとする熱が冷めてしまうように思います。CUIエディタはとても単純なもので何の設定もなしに呼び出せます。オートインデントやシンタックスハイライティング、カッコ対応表示など最低限のものは備えています。また、アドヴァイスを受けてEmacsキーバインディングも基本的なものは取り込んでいます。

型推論による軽快なコンパイルコード

ラズパイは安価ですからCPUのパワーはデスクトップの1/10程度です。そのラズパイでも軽快に動作する必要があります。Easy-ISLispのコンパイラには型推論を搭載してあります。単純なものですと効率の良いCコードに変換、動的リンクが可能です。下記はラズパイで竹内関数、アッカーマン関数、フィボナッチ数を実行した様子です。

終わりに

Lispの世界は良くも悪くもマニアックなところがあります。その悪い部分が敷居を高くしてしまい、初心者の参入を阻んでいるような気もします。気楽に楽しめるLisp環境が必要だろうと思います。そんな思いでEasy-ISLispの開発を継続しています。ISLisp検証システムを全てパスしましたので、少なくともインタプリタの方は規格準拠といっていいだろうと思っています。

GitHubにて公開しています。
https://github.com/sasagawa888/eisl