クラスでLispを学び始めたばかりです。car、cdr、cons、append、reverse、atom、eq、equal、null などのプリミティブ操作を使用して、いくつかの非常に基本的な関数をプログラムする必要がある宿題をしています。
これまでの私のコードは次のとおりです。
(defun union2 (l1 l2)
(cond ((null l1) l2)
((member((car l1) l2)) (union2((cdr l1) l2)))
(t (cons (car l1) (union2((cdr l1) l2)))))
)
テストを実行しようとすると:
(union2 '(5 7 2 3 1) '(3 2 4 6 9))
「エラー: 不正な関数オブジェクト: (car l1)」が表示されます。コードを正しく書いているという印象を受けました。私は何を間違っていますか?お時間をいただきありがとうございます。