Essential Lisp in Twelve Lessons Lesson1 - Essential Syntax

冒頭
Chapter3はLispの核を説明してるからちゃんと通して読んでね
読み終わったらChapter4でパソコンで動かしてね
より詳しく知りたい場合は、この本の残りのページやGuy L. Steele Jr.のCommon Lisp 第2版とか読んでね


Lesson1はLispで有名な括弧の使い方
LispにはListとAtomがあります

リストの例
(1 2 3 4 5)
(a b c)
(cat 77 dog 89)
()
((1 2) 3 4 ())

ただし、閉じてなかったりしたらダメですよ
(括弧がちゃんと閉じてるかどうかはエディターさんがやってくれるからさほど気にしなくてもいいですよ)
Lispは大文字と小文字を普段区別しないです

アトムの例
1
25
342
mouse
factorial
x
-
*
@comport

リストの中の括弧や空白や改行で区切られてるやつをいいますよ
(まだNILは出てこないらしい)
括弧で区切られてる場合は、空白や改行の有無は関係ないですよ
(逆に言えば、見やすいように如何様にでも書けますよということ)

1.
(defun factorial(x)(if(eql x 0)1(* x(factorial(- x 1)))))

2.
(defun factorial (x)
  (if (eql x 0)
      1
      (* x (factorial (- x 1)))))

1.でも2.でもいいけど、2.の方が見やすいよねー
(若干、本とスタイルが違うけど、まあいいや)