generated at
clisp文法簡易リファレンス
Land of Lisp に出てくる記法・関数などの一覧
入手方法は、clispを参照
作業中。

参考
「Land of lisp」を読んだのでCommon Lispのまとめ - rbtnn雑記

基本的な記法
コメント
> ; Hello

シンボル
> 'hello

数値
> 1 2.0

文字列
> "hello world"

\" エスケープ
> "welcome to \"Land of Lisp\" "

コードモード リストの先頭の要素をコマンドとして評価する
> (print "hello")

データモード リストの先頭の要素をコマンドとして評価しない
> '(1 2 3 4 5)

定義
defparameter グローバル変数の定義
> (defparameter *foo* 5)

defvar グローバル定数の定義
> (defvar *FOO* 5)

defun グローバル関数の定義
> (defun sum (a b)
> (+ a b))

let ローカル変数の定義
> (let ((a 2)
> (b 3)
> (* a b))

flet ローカル関数の定義 (関数定義で、別の関数を呼べない)
> (flet ((f (a b)
> (+ a b))
> (g (a b))
> (* a b)))
> (f 2 3)
> (g 2 3))

labels ローカル関数の定義 (関数定義で、別の関数を呼べる)
> (flet ((a (n)
> (* n 10))
> (b (n))
> (- (a n) 3)))
> (a 3)
> (b 3))

代入
setf 変数に代入
> (setf *foo* 100)


算術計算
+ 足し算
> (+ 2 3) > 5

* 掛け算
> (* 2 3) > 6

1+ 引数から1を足す
> (1+ *foo*)

1- 引数から1を引く
> (1- *foo*)

前置演算子として使う

ash 算術シフト、値を半分にして小数点以下を捨てる。第2引数が-1だと右シフト
> (ash 5 -1) > 2


リスト操作
cons 2つの要素をコンスセルにする
> (cons 'foo 'bar) > (foo . bar)

car リストの先頭の要素を取り出す
> (car '(pork beef fish)) > pork

cdr リストの先頭以降の要素を取り出す
> (car '(pork beef fish)) > (beef fish)

list リストを作成する
> (list 'pork 'beef 'fish) > (pork beef fish)