まだ小手調べ。Common Lisp の紹介といったところ。 といいつつ、Common Lisp と Scheme は、異なる部分が結構多いので、少し戸惑い中。 2.1 データとしての関数 - 関数は Lisp のオブジェクト 2.2 関数の定義 - #' オペレータ => 指定した名前の関数オブジェクトを取得 - 変数と関数の名前空間が別 2.4 属性としての関数 (defun behave (animal) (funcall (get animal 'behavior))) (setf (get 'dog 'behavior) #'(lambda () (wag-tail) (bark))) (behave 'dog) ;;=> wag-tail と bark を実行 - OOP のメソッドの概念に対応 2.5 スコープ - Common Lisp はレキシカルスコープ 2.7 ローカ