明後日から修学旅行で、東京と北海道に行きます。1週間近く外出してずっと友達と行動するなんて初めてなのでちょっと心配。。。

それはさておき、Common Lispについて学んだことを簡単にここにまとめてみたいと思います。たまには知識の整理も必要です。

1. 環境について

基本的に、「CLISP」というソフトを使ってCommon Lispを学んでいきます。
対話的なプログラミングができます。

2. Lispの構文(1)

Lispのコードを構成しているのは区切られたり入れ子になった「リスト」のみです。
(この単純さが、僕がLispを好きになった理由の一つです。)

(a b c d)
↑ こんなのがLispのリストです
※イメージであってそのまま実行できるとは限らないものについては赤色で表記します

では、実際のコードを以下に示します。

> (eq 'foo 'FoO)
T

※実際のコードは青色で表記します

これは、CLISPに「(eq 'foo 'FoO)」と入力してEnterキーを押して実行すると「T」と表示されたことを表しています。

eq という関数を使って、「'foo」と「'FoO」が等しいかどうかを調べ、等しいのでその関数は真(T)を返した、ということです。
※「'」←このシングルクォーテーションの意味は後で説明します
※例えば「y = f(x) = x + 1」の場合「関数 f は y に対して引数 x に1を足したものを返す」というような言い回しをします

eq が関数名で、その後に続いてスペース区切りで二つの引数 'foo'FoO を指定しています。こんな書き方をするリストを「フォーム」と言います。
※関数に対して引数となるデータを指定してやることを、「データを渡す」と表現することが多いです

> (expt 2 3)
8

expt 関数は累乗を計算して返す関数で、このコードの場合「23 = 8」を計算しています。

次回予告

次回は、今回あやふやにしていた「データ」の種類、「データ型」の基本を説明していきます。