我正在努力理解当一个值具有类型时它的确切含义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 可以对返回值进行进一步处理并更改其类型。
我不明白“计算的输出”、“继续的返回类型”和“继续的最终返回类型”之间的区别。它们听起来像同义词。