タグ: sicp

4.4 論理型プログラミング、4.4.1 推論的情報検索 – SICP(計算機プログラムの構造と解釈)その227

プログラムが実際に動かないとつまらないので、今回も先に評価器を実装する。 "4.4.4 質問システムの実装" からの手続き群を丸写しする。 stream.scm、put、get の各手続きは3章で利用したものを使う。(p159) stream-append は 3.5.3節のものを、tagged-list? 、prompt-for-input は4.1節の超循環評価器のものを利…続きを読む

問題4.53 – SICP(計算機プログラムの構造と解釈)その225

問題4.53 (amb) があるために、if-fail の第1引数はバックトラックを繰り返して prime-sum-pair により全ての組み合わせを探索する。 また、permanent-set! で pairs にセットした値はバックトラックしても元の値に戻されないため、成功した組み合わせは pairs に追加されていく。 全ての組み合わせを探索し、選択を使い切った時、if-fail の第1引数…続きを読む