<cl> (defun is (x) #'(lambda (y) (eq x y))) IS <cl> (find-if (is 2) '(1 2 3 4 5) ) 2(is 2)というのは2に等しいかどうかを調べる述語を返すわけです. このようにパラメタによって定義を変えたい関数の場合には関数を返す 関数を用いると簡潔な記述が可能となります. このisを用いれば,findというのは,
<cl> (defun my-find (y data) (find-if (is y) data)) MY-FIND <cl> (my-find 'a '(a b c)) Aと表すことができます.