1.1.3 Evaluating Combinations
「順序立てて考える」という問題を、個別的に捉えよう
combinationを計算するには…
- 入れ子の中身を計算する
- operatorをoperandに作用させていく
ここにミソがある
combinationを「計算」するのに、まず、入れ子の「計算」をしている
つまり計算の規則自体がそもそも、再帰的性質を持っている
再帰起の概念がいかに簡潔に、複雑な構造を持つ過程に用いられるか
(* (+ 2 (* 4 6)) (+ 3 5 7))
は、四回計算される
この過程を、「木」であらわしてみる
枝(+, 3, 5, 7)を持つ節をcombinationとする(逆に言うと節から非演算子が伸びている)
木としてみると、非演算子が上流に流れていくのが良くわかる
一般に、木のような階級構造を持つ対象を扱うのに、再帰は有用である