sicp

    5

    2答えて

    著者がシリアライザのミューテックス部分を実装するときは、cellというリストを使用します。しかしリストには1つの要素しか含まれていないので、なぜ変数を使用しないのですか?

    2

    1答えて

    私はSICPのメタ円形評価基準に基づいておもちゃのpython Schemeインタプリタを書こうとしています。 Pythonは限られた深さのコールスタックしかサポートしていないので、テールコールを排除する必要があります。私はトランポリンについて読んで、そのパーサーを実装しました。 しかし、アナライザ/エバリュエータ機能をトランポリンと一緒に使用するために継続的な通過スタイルで書く方法はわかりません

    8

    1答えて

    ドリルラケットからの出力の読み込みに問題があります。デフォルトでは、mconsを使ってリストを表示します。たとえば、sicp exercise 2.32は、次のように生成されます。 > (subsets (list 1 2 3)) (mcons (mcons '() (mcons (mcons 3 '()) (mcons (mcons 2 '(

    2

    2答えて

    私はSICPの読み書きをプログラムすることを学ぶことに決めました。私はDrRacketとhttp://www.neilvandyke.org/racket-sicp/ を使用してい 私はブラックジャックプログラムhttps://github.com/fnava621/scheme_blackjackを書きました。できます。 あなたはこのプログラムをより読みやすく簡潔にすることができますか? 私はあ

    6

    2答えて

    私はSICPを使って作業しています.1つの練習はforeach(doseq)を実装することです。 これは学問的な演習です。 doはClojureの中で特別な形であり、私はそのようなものは持っていないと思うので、私は浮気されdo場合について少し暗いよ、 (defn for-each [proc, items] (if (empty? items) nil (do (

    2

    3答えて

    SICPのようなパターンマッチングを使ってScalaで象徴的な微分関数を作りたいと思います。 differentiate(exp) = exp match { case + => case * => } は「ネイティブ」の表現にScalaで、このことが可能です:私はこのような何かを書くことができるようにしたいと思いますか?

    2

    1答えて

    を設定し、集合の概念は、ここでいう:http://mitpress.mit.edu/sicp/full-text/book/book-Z-H-16.html#%_sec_2.3.3 を私はデータ構造がどのように動作するかを理解し、どのようにそれらを横断するが、それを使用することは、概念化することが厳しいです。 誰かが別の言葉でそれを説明して、それがおそらくクリックするのを助けてくれるだろうか?本当

    3

    2答えて

    構造と解釈コンピュータプログラムの私が読んでいる本はゼロを定義することによって、教会の数字を提示し、インクリメント機能 zero: λf. λx. x increment: λf. λx. f ((n f) x) これは私にはかなり複雑なようで、それが数字に私には本当に長い時間がかかりましたそれを取り出して1つ(λf.λx. f x)と2つ(λf.λx. f (f x))を得ます。 空のラム

    8

    2答えて

    私はMIT Schemeでは、この(Common Lispでは)些細なマクロと同等のものを作成しようとすることで困惑しています: (defmacro funcify (exp) `(lambda (x) ,exp)) これは、単純な個人的なプロジェクト、ソルバーに組み込まれている関数に基づいて、数式のためであります第2回SICP講演。私はこのマクロが "安全"か "衛生的"ではないこ

    2

    3答えて

    プロンプトは、3つの数字のうち大きい方の2つの数字の正方形の合計を返すプロシージャを定義することです。 私は、これは正確にエレガントな解決策ではないですけど、これは私が一緒にハッキングものです:私はエラーを取得していますなぜ (define (largest-of-two-sum-of-squares x y z) (cond ((and (< x y) (< x z)) (sum-o