13 June, 2010

[Scala] Scala 2.8 RC4 and continuation plugin

 Scala 2.8 RC4 が出ました --- が、なんかバグがあるらしく来週には RC5 が出るそうです。なんか品質安定しませんね>Scala 2.8。

 RC4からは限定継続のコンパイラプラグインが付属される様になりました。
 使い方はこんな感じ。Scala 2.8 RC4を導入したディレクトリに居るとします。pluginにパスを通し、continuationをenableにする必要があります。

% cd ~/scala28rc4
% ./bin/scala -Xpluginsdir ./misc/scala-devel/plugins/ ¥
-Xplugin:continuations -P:continuations:enable
Welcome to Scala version 2.8.0.RC4 (Java HotSpot(TM) 64-Bit Server VM, Java 1.6.0_20).
Type in expressions to have them evaluated.
Type :help for more information.

scala> import scala.util.continuations._
import scala.util.continuations._

scala> reset {
| shift { (k:Int=>Int) =>
| k(k(k(7)))
| } + 1
| }
res0: Int = 10

scala>


限定継続をおいおい勉強しようと思います。

No comments: