LISPとLisp方言
LISPは、FORTRANと並び長い歴史を持つプログラミング言語です。
- 関数型言語の先駆者
- ガベージコレクションの採用
などの様々な特徴を持っています。
そんなLISPですが、実装が容易であることから、これまで多くのLisp方言が生み出されてきました。
プログラミング言語の方言とは、日本語や英語など自然言語の方言と同じように、共通する構文や機能を持ちつつも、もとの言語とは異なる部分を持つ言語のことでです。
Lisp方言は、1950年代に登場したLISPと共通する部分はあるものの、それぞれが異なる機能を持っています。
2021年時点で、
が広く知られたLisp方言です。
今日は、そんな多数あるLisp方言の中からいくつかを紹介します。
- Gauche
- Hy
- Lisp Flavored Erlang (LFE)
などです。
多様なLisp方言
Arc
Arcは、Paul Graham氏とRobert Morris氏によって開発されたLisp方言です。
両氏は、プログラマ、起業家として著名な人物です。
- スタートアップ支援の企業として広く知られているY Combinatorの創業者
- Common Lispを用いてソフトウェア開発を行っていた
ことなどで知られています。
Auto LISP
Auto LISPは、AutoCADで使用できるLisp方言です。
AutoCADは、汎用的なCADのソフトウェアです。
CADというのは、コンピュータを用いた設計のことです。
Auto LISPを使って、CADの作業を効率的に進めることができるということです。
Emacs Lisp
Emacs Lispは、テキストエディタEmacsで使用できるLisp方言です。
GNU EmacsのリソースやXEmacsのドキュメントに、Emacs Lispの記載があります。
Vimと並び長く活用されてきたEmacs、そのEmacsユーザーがLisp方言を試す時には第一の候補になるかもしれません。
Gauche
Gaucheは、Lisp方言として広く知られているScheme処理系のプログラミング言語です。
川合史朗氏によって開発されており、日本語のドキュメントが充実しています。
Hy
Hy(Hylang、Hy言語)は、Pythonとのやり取りを想定されて開発されたLisp方言です。
Hyを使用したプログラミングでは、Pythonの標準ライブラリをはじめとする豊富なリソースへのアクセスが可能です。
チュートリアルやドキュメントが充実しています。
Lisp Flavored Erlang (LFE)
Lisp Flavored Erlang (LFE)は、Erlang virtual machine (BEAM)で動作するLisp方言です。
BEAMは、Erlangのプロセス仮想マシンです。
ErlangのほかにBEAM上で動作するプログラミング言語としては、Elixirが広く知られています。
Lisp Flavored Erlang (LFE)は、Lisp風の表現でErlangを使いたいという時に選択肢になります。
PicoLisp
PicoLispは、シンプルさが特徴のLisp方言です。
公式ドキュメントには、チュートリアルやサンプルが用意されています。
Racket
もともとPLT Schemeと呼ばれていたRacketは、Scheme派生のプログラミング言語です。
Racketでは、DrRacketという開発環境が知られています。
ユニークな方言からLisp方言に入門
今日紹介したように、Lisp方言にはユニークなものが多数あります。
別の記事で紹介した、ClojureもLisp方言として捉えられます。
長い歴史を持つLISPは多くのLisp方言とともにLispという語族を形成していると言えるのではないでしょうか。
- Common LispとSchemeは聞いたことがあった
- BEAMで動作するLisp方言があるのか
- PythonのリソースにアクセスできるLisp方言が気になった
など興味が出た場合は、一度試してみると広大なLisp方言への入門としては良いのではないでしょうか。
コメント