手続きによる抽象の構築(4)

いよいよ終電になりました。明日は早く帰れるはず。

1.1.4 合成手続き

さらに強力な抽象化技法である手続き定義(procedure definitions)を学ぼう。これにより、合成演算に名前を対応づけ、一体として指すことが出来る。

変数定義と同様にdefineで行う。定義した手続きを使用して別の手続きを定義することも出来る。

合成手続きは基本手続きと全く同様に使うことが出来る。実際、上のsum-of-squaresの定義を見ただけでは、squareが+や*のように解釈系に作り込まれたか、合成手続きとして定義されたか分からない。

基本手続きの上書きは出来るのか、確認してみる。

gosh> (define (+ a b) (* a b))
+
gosh> (+ 2 3)
6

サクッと出来た。

シェアする

  • このエントリーをはてなブックマークに追加

フォローする