Ex. 4.56
;;a
(and (supervisor ?who (Bitdiddle Ben))
(address ?who ?))
;;b
(and (salary (Bitdiddle Ben) ?$) ;; Benの給料取得
(salary ?who ?$$) ;; 全人物、給料の一覧を取得
(lisp-value < ?$$ ?$)) ;; 条件でフィルタする
;;c
(and (job ?who ?all) ;; 全人物、ジョブの一覧を取得する
(not (job ?who (computer . ?any))) ;; not で上の一覧をフィルターする。
(supervisor ? ?who)) ;; 人物をキーに外部結合する
最初 lisp-value 使うと user-initial-environment の未定義エラーでた。
ch4-query.scmに
(define user-initial-environment '())
を追加