Scala 2.10 и Continuations (akka-dataflow) в консоли sbt

Каков статус плагина продолжений в 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

Я получаю сообщение об ошибке, указывающее, что подключаемый модуль продолжений не включен.


Каков правильный подход к включению продолжений в Scala 2.10?

В частности: как я могу зайти в sbt console и попробовать приведенный выше пример с flow. Кажется, мне также нужно убедиться, что плагин компилятора включен для REPL?


EDIT: запись scalacOptions действительно работает, кажется, у меня опечатка.


person 0__    schedule 18.01.2013    source источник
comment
По сути, я нахожусь в той же ситуации, что и это плакат списка рассылки, только для Scala 2.10 и sbt 0.12.1; по словам Марка Харра в то время, он должен работать без дополнительной настройки.   -  person 0__    schedule 18.01.2013


Ответы (1)


С этим build.sbt:

autoCompilerPlugins := true

scalaVersion := "2.10.0"

libraryDependencies +=
  compilerPlugin("org.scala-lang.plugins" % "continuations" % "2.10.0")

scalacOptions += "-P:continuations:enable"

следующий пример только для продолжений (без Akka) работает в REPL:

scala> import scala.util.continuations._

scala> reset { val i = shift { body: (Int => Unit) => body(5);
     | println("done") }; println(i) }
person Mark Harrah    schedule 18.01.2013
comment
Вууу. Слишком глупо, я думаю, что у меня была опечатка в "-P:continuations:enable", что дало мне сообщение "bad option". Сейчас повторная попытка, и действительно работает (тоже с Akka-dataflow). - person 0__; 18.01.2013