2009-10-07から1日間の記事一覧

計算機プログラムの構造と解釈 第二版 P88 問題2.58

aとb二つ問題がある。aの方は、 make-ホニャララ的な手続きと、 ホニャララ?的な判断する手続き、 あと、 加数と乗数の取り出す手続き を修正すれば出来ると思う。 bの方は、多分設計できそうで、 最初に式全体をなめて*が出てきたら、括弧で囲んでやるよう…

計算機プログラムの構造と解釈 第二版 P88 問題2.57

これは、要はaugendとmultiplicandの定義を変更して、 (+ 1 2 x) (* 1 2 x) みたいな扱いも出来るように仕様っていうこと。 で、さらにいうと (augend '(+ 1 2 x)) を実行すると (+ 2 x)が返るようにしてやれば良い。 consの定義を考えてやれば、三項目以降…

計算機プログラムの構造と解釈 第二版 P88 問題2.56

教科書に書いてある式を書いてみた。 (tex記法が使える事をid:ajiyoshiに教わった。thanks!!!) この式を、 exponentiation?とか、base、exponentとかmake-exponentiation とか、この前の説明のところでやった手続きが、既にあると希望的に考えたうえで、 表…

計算機プログラムの構造と解釈 第二版 P85 問題2.55

なかなか面白い。 「''」が内部的にどういう解釈になっているのかわかればいいのかな? って感じでやってみた。 まず、 (car ''abracadabra)と入力した、驚いたことに解釈系はquoteと印字してきた.なぜか. ってあるんだけど、実際にやってみるとそのようにな…

計算機プログラムの構造と解釈 第二版 P85 問題2.54

あわよくば髪を切りにいきたいので、問題の後半をあまりよんでいない。 でも、多分出来ているので出来ているのだろうという意味の分からん自信。 P84のmemqの実装を参考にすると分かりやすいと思います。 実装 #!/usr/local/bin/gosh ;; -*- coding: utf-8 -…

計算機プログラムの構造と解釈 第二版 P84 問題2.53

とりあえず、特に難しい事はないので、書いてある通りやる。 出力の予想もあっていたので、とても嬉しい。実装 #!/usr/local/bin/gosh ;; -*- coding: utf-8 -*- (use ggc.debug.trace) (use math.mt-random) (define (memq item x) (cond ((null? x) faluse…

遅い夏休み。

今日は世間にかなり遅れを取りましたが夏休みをとりました。 寒いし、雨降ってるし。 家でEngine Downを聴きながら コーヒーとSICP 外が晴れていると、なんか外に行かなければいけない罪悪感があるので、 むしろ好都合だな。 最近はゼミの中間発表とか、ツア…