[e-lang] [Fwd: Lightweight processes in Scala]
David Hopwood
david.nospam.hopwood at blueyonder.co.uk
Mon Jul 17 09:53:36 EDT 2006
-------- Original Message --------
Subject: Lightweight processes in Scala
Date: Mon, 17 Jul 2006 14:59:51 +0700
From: Nick Linker <xlcr at mail.ru>
To: Erlang Questions <erlang-questions at erlang.org>
Hi all,
Martin Odersky and Philipp Haller did some effort and implemented
Erlang-like lightweight processes over JVM using Scala language. Their
lightweight "actors" look like this:
class Counter extends Actor {
override def run(): unit = loop(0)
def loop(value: int): unit = {
Console.println("Value: " + value)
receive {
case Incr() => loop(value + 1)
case Value(a) => a ! value; loop(value)
case Lock(a) => a ! value
receive { case UnLock(v) => loop(v) }
case _ => loop(value)
}
}
}
The article can be found at
http://lampwww.epfl.ch/~odersky/papers/jmlc06.html.
Scala language homepage is http://scala.epfl.ch/.
[snip Erlang-vs-JVM advocacy]
--
David Hopwood <david.nospam.hopwood at blueyonder.co.uk>
More information about the e-lang
mailing list