diff options
author | michelou <michelou@epfl.ch> | 2010-11-17 12:26:13 +0000 |
---|---|---|
committer | michelou <michelou@epfl.ch> | 2010-11-17 12:26:13 +0000 |
commit | c09f6173e96ec741c9b38edfee969ae8c6b74d4e (patch) | |
tree | 1f06579f72afa12092acd0b5bbb7c678291cf619 /docs | |
parent | 363a1456f671323b35dcacf2c8b8eb39180b8a53 (diff) | |
download | scala-c09f6173e96ec741c9b38edfee969ae8c6b74d4e.tar.gz scala-c09f6173e96ec741c9b38edfee969ae8c6b74d4e.tar.bz2 scala-c09f6173e96ec741c9b38edfee969ae8c6b74d4e.zip |
updates Scala examples, added detach plugin
Diffstat (limited to 'docs')
-rw-r--r-- | docs/examples/boundedbuffer.scala | 8 | ||||
-rw-r--r-- | docs/examples/gadts.scala | 10 | ||||
-rw-r--r-- | docs/examples/iterators.scala | 4 |
3 files changed, 11 insertions, 11 deletions
diff --git a/docs/examples/boundedbuffer.scala b/docs/examples/boundedbuffer.scala index dceda62bd4..359bfd8d06 100644 --- a/docs/examples/boundedbuffer.scala +++ b/docs/examples/boundedbuffer.scala @@ -4,19 +4,19 @@ object boundedbuffer { import concurrent.ops._ - class BoundedBuffer[a](N: Int) { + class BoundedBuffer[A](N: Int)(implicit m: ClassManifest[A]) { var in, out, n = 0 - val elems = new Array[a](N) + val elems = new Array[A](N) def await(cond: => Boolean) = while (!cond) { wait() } - def put(x: a) = synchronized { + def put(x: A) = synchronized { await (n < N) elems(in) = x; in = (in + 1) % N; n += 1 if (n == 1) notifyAll() } - def get: a = synchronized { + def get: A = synchronized { await (n != 0) val x = elems(out); out = (out + 1) % N ; n -= 1 if (n == N - 1) notifyAll() diff --git a/docs/examples/gadts.scala b/docs/examples/gadts.scala index 88e1ff9fdb..d2792f4ada 100644 --- a/docs/examples/gadts.scala +++ b/docs/examples/gadts.scala @@ -3,10 +3,10 @@ package examples object gadts extends Application { abstract class Term[T] - case class Lit(x: int) extends Term[int] - case class Succ(t: Term[int]) extends Term[int] - case class IsZero(t: Term[int]) extends Term[boolean] - case class If[T](c: Term[boolean], + case class Lit(x: Int) extends Term[Int] + case class Succ(t: Term[Int]) extends Term[Int] + case class IsZero(t: Term[Int]) extends Term[Boolean] + case class If[T](c: Term[Boolean], t1: Term[T], t2: Term[T]) extends Term[T] @@ -16,7 +16,7 @@ object gadts extends Application { case IsZero(u) => eval(u) == 0 case If(c, u1, u2) => eval(if (eval(c)) u1 else u2) } - Console.println( + println( eval(If(IsZero(Lit(1)), Lit(41), Succ(Lit(41))))) } diff --git a/docs/examples/iterators.scala b/docs/examples/iterators.scala index 4f4aa79f28..e2e5e050a0 100644 --- a/docs/examples/iterators.scala +++ b/docs/examples/iterators.scala @@ -10,10 +10,10 @@ object iterators { } def printArray(xs: Array[Double]) = - Iterator.fromArray(xs) foreach { x => println(x) } + xs.iterator foreach { x => println(x) } def findGreater(xs: Array[Double], limit: Double) = - Iterator.fromArray(xs) + xs.iterator .zip(Iterator.from(0)) .filter{case Pair(x, i) => x > limit } .map{case Pair(x, i) => i} |