タグ

LISPに関するshin_bashiのブックマーク (1)

  • DrSchemeでSICP - NIKKI

    SICPのサンプルコードで、そのまま書いてもうまく動作しないものを解決する。DrScheme+Moduleという組み合わせを想定する。 trace の使い方 再帰的に定義された関数がどのように自分自身を呼び出しているのかを見るのに、trace という関数が使えるらしい。DrScheme+Module ではそのままでは使えないので、以下の一行をプログラムに追加する。 (require (lib "trace.ss"))例えば、1.2.5 節の最大公約数の例なら (require (lib "trace.ss")) (define (gcd a b) (if (= b 0) a (gcd b (remainder a b)))) (trace gcd)とやっておけば、 (gcd 206 40) |(gcd 206 40) |(gcd 40 6) |(gcd 6 4) |(gcd 4 2) |(

    DrSchemeでSICP - NIKKI
  • 1