Я пытаюсь понять, что именно это означает, когда значение имеет тип 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 представляет его "конечный" тип возврата, потому что сдвиг может выполнять дальнейшую обработку возвращаемого значения и изменять его тип.
Я не понимаю разницы между "выводом вычислений", "возвращаемым типом продолжения" и "окончательным типом возврата продолжения". Они звучат как синонимы.