読者です 読者をやめる 読者になる 読者になる

yy_taroのとりとめのない落書き

メインフレームの導入・設計・構築ができるぐらいの知識があったりする。

SICP始めました 59

SICP五十九日目

3.1.3 代入を取り入れた代価を読んだ。

題名が「代入」まるで悪者のような印象。。。

確かに再帰的な処理いわゆる関数型プログラミングと代入を取り入れた命令型プログラミングを比べると今まで気にしなくてよかった箇所でエラーが入り込む危険性があるとのこと。

問題3.7
 はじめは、問題3.3の答えを変えても良いと記載されていたので、3.3の答えを使うものかと考えていたが、よくよく見てみると3.3の答えを変えなくても出来ることに気がついた。

(define (make-join account acc-pass new-pass)
 (lambda (pass m)
  (if (eq? new-pass pass)
   (account acc-pass m)
   (error "Incorrect Password" pass))))

問題3.8

(define (f a)
 (let ((x 1))
  (if (= a 0)
   (begin
    (set! x 0) x)
   x)))

今日はここまで。

計算機プログラムの構造と解釈[第2版]

計算機プログラムの構造と解釈[第2版]