2.4.3)SICPこの節では、プログラムの内部実装が、異なる方法で表現されている可能性があるデータにどう対処するかを勉強する。2.3.4)SICPこの節では、データとして任意の記号に対して作業する能力を採用し、言語の表現力を拡大する。記号を操作するために、データオブジェクトをクォートする(quote)能力が必要である。要素が"対"であるような"対"を作る能力は、リスト構造にとって重要。閉包は階層的(hierarchical)構造を作ることができる。abstraction)は、合成データオブジェクトの使い方を、それが基本的データによりどう作られたかの細部から隔離する技法。data)を作って抽象を構築することを学ぶ。言語の持つ基本的データオブジェクトより高いレベルの思考で、データを扱うことができる。1.3.4)SICP強力なプログラミ言語は、よくあるパターンに名前をつけて抽象化し、その抽象を使って仕事をする能力を持つ。抽象化の際、手続きの引数として、数値、文字列などの制限があると抽象化の能力は狭められる。計算する手続きは再帰的な手続き、反復的な手続きで記述することができる。再帰的な手続きでは、Θ(n)ステップ、Θ(n)スペースを必要とする。単純な手続きが生成するプロセス共通の「形」を見ていく。プロセスが時間とスペースという計算資源を消費する速度を調べてみる。階乗の手続きから、再帰的プロセス、反復的プロセスについて考える。