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が戻り値に対してさらに処理を実行し、そのタイプを変更できるためです。
「計算の出力」、「継続の戻り型」、「継続の最終戻り型」の違いがわかりません。それらは同義語のように聞こえます。