views:

112

answers:

2

I have recently completed some study of erlang, and was intrigued by scala for its feature set and the ease of interpolating with java (and possibly .net) applications. I am finally studying actors and was wondering if there is an actor mechanism that currently works in .net.

I have looked at the libararies that come down with sbaz and have found that there is a scala.Concurrent but no scala.actors.Actor. I tried to use the scala.Concurrent.Channel but was unable to use the ! to send messages.

I was just wondering if this is something that is currently available and if so how do you go about setting it up.

+4  A: 

At the moment, Scala.net is not production-ready, and lacks for some major features, such as Actors and parsing capabilities.

Please find this thread at scala-lang forums.

Vasil Remeniuk
+5  A: 

Scala actors (and I think most of Scala's concurrency abstractions) are fairly coupled to low-level Java concurrency support. Pieces of it are even strongly coupled to Sun's JVM and will go into a degraded mode on other JVMs (there's a copy of the jsr 166y reference implementation lingering in the Scala codebase that is dependent on private Sun APIs).

Breaking the coupling would be possible but it would be a significant project. It also might introduce some performance tradeoffs, because Scala wrapper interfaces would need to be provided for generic constructs to be implemented using .NET or Java low-level APIs.

Erik Engbrecht