Scala 2.10 и продолжения (akka-dataflow) в консоли sbt
Каков статус плагина continuations в Scala 2.10; я немного запутался. Следующая настройка находится в документации Akka 2.2-SNAPSHOT :
autoCompilerPlugins := true,
libraryDependencies <+= scalaVersion {
v => compilerPlugin("org.scala-lang.plugins" % "continuations" % "2.10.0")
},
scalacOptions += "-P:continuations:enable",
Во-первых, scalacOption
больше не работает с 2.10, а scalaVersion
фактически не используется в зависимостях библиотеки. Если я наивно иду вперед с 2.10 и без особых конфигураций (убираю все вышесказанное), то и Акка 2.1.0:
import concurrent.ExecutionContext.Implicits.global
import akka.dataflow._
flow { "Hello world!" } onComplete println
Я получаю ошибку, указывающую, что плагин continuations не включен.
, что то, что является правильным подходом для обеспечения продолжения в Scala 2.10?
В частности : Как я могу зайти в sbt console
и попробовать приведенный выше пример с flow
. Кажется, мне также нужно убедиться, что плагин компилятора включен для REPL?
EDIT : запись scalacOptions
действительно работает , похоже, у меня была опечатка.
1 ответ:
С этим
build.sbt
:autoCompilerPlugins := true scalaVersion := "2.10.0" libraryDependencies += compilerPlugin("org.scala-lang.plugins" % "continuations" % "2.10.0") scalacOptions += "-P:continuations:enable"
В REPL работает только следующий пример продолжения (без Акка):
scala> import scala.util.continuations._ scala> reset { val i = shift { body: (Int => Unit) => body(5); | println("done") }; println(i) }