[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