callcc

    4

    2答えて

    私は "call/cc"を任意のコントロールフローのコンストラクトを実装するために使うことができるので、 "call/cc"を使ってそのようなコンストラクトを実装しようとしていますが、私が "if-syntax"と "call/cc"を使ってどのように実装するのか、 "if"がないと仮定しますか?それは可能なのか、それとも私は誤解されたことがありますか?私は "call/cc"を使って無条件ジャン

    3

    1答えて

    私はクラスのスライドを見直そうとしています。コードは「初期作業」を1回印刷し、その後に「後で作業」を2回(後の作業の繰り返し番号を設定することができます)印刷することになっています。しかし、なぜ私はこのコードがうまくいかず、どうすればコードを修正できますか?今のコードが(ことになっている)、「後仕事」よりもむしろ2の無限ループを生成するためk.timesのループカウンタがスタックであるため req

    8

    2答えて

    Rubyのcallccは現在の継続をキャプチャします。この継続は、後でコントロールを復元するために呼び出すことはできますが、データは復元できません。私はメモリの現在のイメージと一緒に現在の継続をキャプチャしたいと思います。 ヒープをキャプチャすることはあまり難しくありません。私はObjectSpace::each_objectとObjectSpace::dump_all、またはMarshal.du

    1

    1答えて

    私はscheme interpreter in scalaを書いていますが、実際には機能しますが、サブルーチン間の切り替え方法はまだ分かりません。例えば : (call/cc (lambda (k) (k 1) (display 2))) 私は表示手順を実行しなければならないと仮定したが、それはしていません。 Javaで 、それだけで何かがこれを好き: public cl

    5

    3答えて

    続きは、次に何が起こるかについて説明しています。 これは単なる値をとり、計算を行う関数ではありませんか? (+ (* 2 3) 5) (* 2 3)の継続が(+ _ 5) (define k (lambda (v) (+ v 5))) ある機能kを使用してここにいないでcall/ccを使用してのポイントは何ですか?

    5

    1答えて

    (define get-first (lambda (l) (call-with-current-continuation (lambda (here) (set! leave here) (waddle l) (leave (quote())))))) (define get-first (lambda (l)