多くの人が、芸術とプログラミングの間に関連性を見い出してきた。私は比喩的な意味ではなく、文学と関連があると信じている。 プログラムの構造と解釈 (Structure and Interpretation of Computer Programs) では例題の 1.3 でユーザーに次のように 問うている。 三つの数字を引数として取り、大きいほうから二つの数字をそれぞれ平方した和を合計したものを返す関数を定義せよ。 この例題の意図しているポイントは cond オペレータを用いた場合分けの導入である。 期待されている解答はこのようなものだろう。 (define (sum-square-largest x y z) (cond ((and (> y x) (> z x)) ;; y and z are largest (+ (* y y) (* z z))) ((and (> x y) (> z