「限定継続使ったコードで、コンパイラがcrashする」というscala-usersのMLのスレにて、Scala開発者のJason Zauggさんが

We don't have resources assigned for maintenance of the CPS compiler plugin. In fact, we're thinking of declaring it deprecated. It has some architectural issues (most notably: intimate relationship with typechecking under the annotation-driven pluggable subtyping logic) that means it has a long tail of hard- or impossible-to-fix bugs and limitations.

Our vision is to provide a more focussed version of CPS as scala-async, which is implemented with def-macros. It provides a DSL for working with Futures (or other Future-like APIs). Admittedly, this is far less general, but that does have the benefit of eliminating the cryptic type errors which folks often to hit with @cps.

  • 限定継続のコンパイラプラグインをメンテナンスする十分なリソースがない
  • 実際、非推奨にするかどうか検討している
  • いくつかの構造的な問題がある





Scala-Internal の ML での議論の続き