関数型言語の勉強にSICPを読もう - (75) 4章 - 超言語的抽象(266-267ページ)

合成質問

and, or, lisp-value の話。
このあたりは死ぬほどSQLを書かされてきた自分としては親しみやすい題材です。

問題4.56

a. Ben Bididdleが監督している人全ての名前と住所

(and (supervisor ?x (Bitdiddle Ben))
     (address ?x . ?y))


b.給料がBen bitdiddleのそれより少ない人のすべてと、その人たちの給料と、Ben Bittdiddleの給料

(or (salary (Bitdiddle Ben) ?amount)
    (and (salary ?x ?y)
         (lisp-value < ?y ?amount)))

どうでも良いんですが、こんなもの悲しいQueryは嫌いです(ぉ


c.計算機部門にいない人が監督している人全てとその監督者の名前と担当

(and
  (not (job ?who (computer ?type)))
  (and (supervisor ?w ?t)
       (lisp-value eq ?who ?w)))


※「SICPを読もう」の目次はこちら


計算機プログラムの構造と解釈
ジェラルド・ジェイ サスマン ジュリー サスマン ハロルド エイブルソン 和田 英一
ピアソンエデュケーション (2000/02)
売り上げランキング: 56,404