問題タブ [continuations]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
scala - Scalaで区切られた継続の入力を理解していない(A @cpsParam [B、C])
A @cpsParam[B,C]
値に型がある場合、それが正確に何を意味するのか、および区切り継続機能を使用するときにこのフォームのどの型を値に割り当てる必要があるのかを理解するのに苦労しています。
私はいくつかの情報源を見てきました:
http://lamp.epfl.ch/~rompf/continuations-icfp09.pdf
http://www.scala-lang.org/node/2096
http://dcsobral.blogspot.com/2009/07/delimited-continuations-explained-in.html
http://blog.richdougherty.com/2009/02/delimited-continuations-in-scala_24.html
しかし、彼らは私にこれについて多くの直感を与えませんでした。最後のリンクで、作者は明確な説明をしようとしますが、とにかくそれは十分に明確ではありません。
ここでのAは、計算の出力を表します。これは、その継続への入力でもあります。Bはその継続の戻りタイプを表し、Cはその「最終」戻りタイプを表します。これは、shiftが戻り値に対してさらに処理を実行し、そのタイプを変更できるためです。
「計算の出力」、「継続の戻り型」、「継続の最終戻り型」の違いがわかりません。それらは同義語のように聞こえます。
scala - 継続を使用して非同期制御フローを分割してディスパッチする方法は?
次のような非同期制御フローがあります。
このフローをいくつかの部分(継続)に分割し、全体的な状態を維持しながら、これらをさまざまなアクター(またはスレッド/タスク)に順番にディスパッチするにはどうすればよいですか?
ヒントをいただければ幸いです、ありがとう
eclipse - EclipseのScalacコマンドラインパラメーター?
Scalaには継続プラグインが含まれていますが(yay)、「-P:continuations:enable」をscalaコンパイラに渡して有効にする必要があります。Eclipse Scalaプラグインのscalacに任意の引数を渡す方法はありますか?
差出人:http ://permalink.gmane.org/gmane.comp.lang.scala/19439
プラグインはデフォルトでロードされますが、コマンドライン引数-P:continuations:enableで有効にする必要があります
ruby - 継続を再帰の代わりに使用できますか?
次の関数は、n = 5,000の場合に「スタックレベルが深すぎます(SystemStackError)」を生成します
continuations / callccを使用してこのエラーを回避する方法はありますか?
ノート:
これは再帰なしで実装できることを私は知っています。例えば
scala - 継続に関するヘルプが必要-エラー「非cps位置にcps式が見つかりました」
Scala2.8Continuations-PlugInを使用して次の単純なジェネレーターを構築してみます。次のエラーはどこから発生しますか?
コード:
scheme - 実用的なスキームプログラミング
私がSchemeに触れて、Schemeを使用してコマンドラインインカムパーティショナーを実装することを決定してから数か月が経ちました。
私の最初の実装では、継続に対して単純な再帰を使用しましたが、このタイプのプログラムには継続がより適切であると考えました。誰か(私よりもSchemeに精通している)がこれを見て、改善を提案してくれれば幸いです。複数(display...
行はマクロを使用する理想的な機会でもあります(私はまだマクロに到達していません)。
呼び出し(ab-income)
は入力を要求し、600未満のものが提供された場合、(私の理解から)それはに戻り(ab-income)
ますcurrent-continuation
。私の最初の実装(前に言ったように)は、プレーンジェーン再帰を使用しました。まったく悪くはありませんでしたが(ab-income)
、値が600未満の場合は、関数を拡張し続けた場合のすべてのリターン呼び出しを計算しました。
(その懸念が間違っている場合は私を訂正してください!)
haskell - 継続モナド「インターフェース」
状態モナド「インターフェース」
(+ return と bind) により、コンストラクターを使用せずに State モナドを使用して可能な計算を構築できますState
。たとえば、次のState $ \s -> (s+1, s-1)
ように記述できます。
同様に、とを使用Reader
してその計算を作成できるため、コンストラクターを使用する必要はありません。正確には: .ask
return
(>>=)
Reader f == ask >>= return . f
継続についても同じことが当てはまりますか - Cont r a
usingのすべてのインスタンスcallCC
( の唯一の関数MonadCont
) を記述し、 return と bind を作成して、 のようなものを入力しないことは可能Cont (\c -> ...)
ですか?
scala - CPS クラスの Seq[T] の実装
CPS コンテキスト (@cps[Unit]) にある次のクラスを使用すると、Seq 特性をどのように実装できますか? Seq のような標準的な特性を脇に置き、cps-context で map、flatmap、および foreach を実装する必要がありますか?
scala - Scalaで継続を有効にするにはどうすればよいですか?
質問はそれをすべて言います。
shift
(ただし、および操作にアクセスする方法の詳細は、何reset
年にもわたって変更されています。古いブログエントリとStack Overflowの回答には、古い情報が含まれている可能性があります。)
Scalaの継続とは何ですか?なぜそれらを使用するのですか?も参照してください。shift
それはあなたが何をしたいかについて話し、reset
あなたがそれらを手に入れたら。
scala - ネストされた CPS「リセット」
Scala 2.8 の CPS コンパイラ プラグインを使用すると、2 つの魔法のコントロールreset
とshift
. リセットは継続を区切り、シフトは継続をキャプチャします。
ネストされたリセットを一種の「フォーク」として使用して、NIO で CPS を使用する例があります...? リセットを入れ子にする目的がよくわかりません。どのような影響がありますか?