mapcan は第一引数の戻り値をリストだと期待して、そのリストに第一引数の関数を mapcar した結果を nconc でつなげていく関数です。 (defun my-null (x) (if (null x) (list t) (list nil))) (mapcan #'my-null '(nil 1 2 nil)) ;;=> (T NIL NIL T) ;(mapcar 'null '(nil 1 2 nil)) でいいのは承知の上 (mapcar #'my-null '(nil 1 2 nil)) ;;=> ((T) (NIL) (NIL) (T)) (apply #'nconc '((t) (nil) (nil) (t))) ;;=> (T NIL NIL T) nconc を append に置きかえた mapcaappend を定義してみます。 (defun mapcaapp

