Scala 2.12 or 2.11
The easiest way is to use sbt. Here's what to put in your build.sbt:
scalaVersion := "2.12.2"
addCompilerPlugin(
"org.scala-lang.plugins" % "scala-continuations-plugin" % "1.0.3"
cross CrossVersion.patch)
libraryDependencies +=
"org.scala-lang.plugins" %% "scala-continuations-library" % "1.0.3"
scalacOptions += "-P:continuations:enable"
In your code (or the REPL), do import scala.util.continuations._
You can now use shift and reset to your heart's content.
Note that I used a Scala version of 2.12.2 because that's the last version the plugin was published for. If you want to use a newer 2.12.x version, you'd need to build the plugin yourself from source. If you use 2.12.2, you'll probably need to be on Java 8, since according to https://docs.scala-lang.org/overviews/jdk-compatibility/overview.html Java 11 support didn't land until 2.12.4.
historical information for Scala 2.8, 2.9, 2.10
You have to start scala (or scalac) with the -P:continuations:enable flag.
In your code, do import scala.util.continuations._
You can now use shift and reset to your heart's content.
If you're using sbt 0.7, see https://groups.google.com/forum/#!topic/simple-build-tool/Uj-7zl9n3f4
If you're using sbt 0.11+, see https://gist.github.com/1302944
If you're using maven, see http://scala-programming-language.1934581.n4.nabble.com/scala-using-continuations-plugin-with-2-8-0-RC1-and-maven-td2065949.html#a2065949