Lisp言語
2000.11.6 ISN (Supporter:Kin)
1.はじめに
この世にはLispというプログラム言語が存在します。プログラミング言語では、C言語のような手続き型言語が有名ですが、Lispは関数型言語に分類されます(とはいえ、手続き型言語的な仕様も多く含まれますが)。関数型言語とは、一言で言うと関数だけを使ってプ ログラミングを行なう言語。

2.Lispのいろいろ
LispにはGCL(Gun Common Lisp)やKCL(Kyoto Common Lisp)など多くのCommon Lispがありますが、元は京都大学で作られたKCLだそうです。最近はANSI Common Lispという標準化 されたものがあります。FRANZが出している、Allegro Common Lispが統合環境として有名です。

3.Lispの使い型
大学で使用したものはGCLです。 gclやclispといったプログラムを実行し、プロンプトに向かって式を打ち込みます。 そうすると、それに対応する計算がただちに行われ、結果が表示されます。

4.Lispの書式
Lispでは基本的に「(… … …)」と括弧でくくった式で書かれます。
・プログラム例
(defun circle (r) (* r r 3.14))

これは半径rの円の面積を求める関数circleを作っています。
この関数を作ったあとプロンプトに(circle 3)と書けば半径3の円の面積が表示されます。

5.Lispの特徴
・ Lispを使ってLispをかける。
・ コード生成系(人工知能等)を比較的書きやすい。
・ 今現在、実用されている言語の中でも最も古いものに分類される。
・ 最近でも、AutoCADの一部や、Emacsの実装には、Lispが利用されている。
・ インタプリタベースの処理系であり、対話的利用向く。
・ リストと呼ばれる柔軟なデータ構造を扱える。

6.さいごのまえに
Lisp言語を使ってゲームをつくれるのか?という疑問がありますが、大学の課題で3目並べをつくったので、その系統のゲームはつくれるでしょう。ですが、みなさんが作りたいと思っているようなものをつくるのは非常に難しいかもしれません。あしからず。

7.さいごに
大学の演習でかじった程度の知識ですので、あまりたいしたことは書けませんでした。 まあ、普通に暮らしていればLispには出会わないと思いますので、ここで読んだことは 忘れて下さい。

8.おまけ
lispを和訳すると「舌足らずな発言」という意味がありますが、それはLisp言語の名前とは関係ありません。Lispはlist processingからきています。