目標と変更するスタックの2つのスタックがあります。ゴールスタックの各ステップを実行するときに、フィールドを削除します。そのスタックが空になったときに、特定の目標を達成したことを私は知っています。変数が空の場合にテストするルールを作成しようとしていますが、エラーが発生し続けます:[EXPRNPSR1]関数名はシンボルである必要があります。これが私のルールです。
(defrule done
(declare (salience 30))
?stack <- (curr-stack $?thusfar)
?goal <- (goal-stack ?H)
(test (= ?H ()))
=>
(retract ?stack ?goal))
どんな助けでも大歓迎です!ありがとう!