この内側の括弧は終了した。+に続く要素は1と2だけだったので、それらを計算して3という結果が出た。この結果を、外側の括弧の+オペレーターの引数として取り扱おう。この3と、何を足すのかな。閉じ括弧ということはここで外側の括弧も終わり。計算はこれ以上ないから、結果を出そう。いうような流れになる。処理の順序が理解しづらかったり、どうしてこう動くのかがわからないといった部分がある場合には、Lispの気持ちになって先頭からひとつひとつ読み進めていくことを勧める。このような入れ子の書き方は、複数種類のオペレーターを使いたいときに必須となる。足し算と掛け算を行う計算式を表現したい場合だ。7という計算を行いたいとする。7が最初に計算されて14という数値を得る。14を計算し、18という結果が得られる。いう場合に、先頭の要素だけがオペレーターとして取り扱われるため、単一の括弧では足し算と掛け算の2つを用いることができない。Lispのプログラムコードでこの計算式を表現するためには、まず2と7を掛け合わせる式を用意する。7)14次に、これに4を足す処理を加える。7)という記述は一番内側になくてはならない。Lispは、算数における四則演算の優先順位をまったく考慮せず、必ず内側から計算を行おうとするからだ。4を加算させるためには、以下のように記述する。7))18もしくは、順番を逆にして以下のようにも書ける。4)18どちらも、掛け算である内側の括弧内が最初に処理され、その後、足し算が行われる。ここまでのことをまとめる。Lispは()で囲まれたS式を処理する括弧内の先頭にある要素はオペレーターと呼ぶ括弧内の2番目以降にある要素は引数と呼ぶオペレーターに基づいて、Lispは2番目以降の要素を処理する括弧の中に更に括弧を記述できる。内側の括弧内から計算処理が行われる。Processorの略だ。その名に含まれるように、Lispのコードはリストによって表現される。今まで見てきた、括弧の中に要素が並ぶ記述そのものが、リストと呼ばれるものだ。リストの中には、アトムとリスト以外含まれない。アトムという呼び方は聞きなれないが、数値、文字列、シンボル(記号)の3つを指し示す。3)というS式であれば、+と1と2と3は全てアトムと呼ばれるものになる。7)というリストを含んでいる。7)に含まれるのは、*と2と7というアトムになる。最後に、文字出力のためのformatオペレーターを使ったS式を見る。world”の全てがアトムになる。world”は文字列だ。以下の表でコードの構成要素を整理する。()で囲まれた要素どのようなルールで記述するか、言い換えると、どのような構文で記述するのかは、プログラミング言語を学ぶ際一番最初に覚えなくてはいけない部分だ。この点において、Lispは非常にシンプルな構文を持つ。構文がないと言ってしまっても差し支えないほどに、他の言語と比べると特殊な作りをしている。ここまでの内容を理解しても、プログラムを書ける気にはならないかもしれない。電卓レベルのことしかしていない。実際、変数や関数、分岐や繰り返し処理などを覚えなければ、まともなプログラムは書けない。それらの様々な機能を覚える際も、書き方は今説明したとおりで、これ以上のことは出てこない。この段階では、Lispのコードはアトムとリストで構成され、内側から処理されるという簡潔なルールを覚えておこう。ここまでのプログラムコードを入力してエラーが出てしまう場合には、以下の点を確認すると良い。括弧はきちんと組で使われているか。開き括弧や綴じ括弧がきちんと対応しているか。リスト(括弧内)の先頭は、Lispが解釈できるオペレーターかどうか。リスト内には、リストかアトムしか含めることができない。それ以外のものが含まれていないか。オペレーター毎に一定のルールで引数を処理する。オペレーターに与えている引数の値(数値や文字列、シンボルなど)はサンプルコードと同じかどうか。