|
Scala 2.4.0-final
|
object
pilib
extends
java.lang.Object
with
scala.ScalaObject
Library for using Pi-calculus concurrent primitives in
Scala. As an
example, the definition of a two-place buffer using the pilib
library looks like:
def Buffer[a](put: Chan[a], get: Chan[a]): unit = { def B0: unit = choice ( put * { x => B1(x) } ); def B1(x: a): unit = choice ( get(x) * B0, put * { y => B2(x, y) } ) def B2(x: a, y: a): unit = choice ( get(x) * B1(y) ) B0 }
Class Summary | |
class
Chan
[a]
Name on which one can emit, receive or that can be emitted or received during a communication. |
|
class
GP
[a]
Typed guarded process. |
|
class
Product
[a]
|
|
abstract
|
class
Spawn
Run several processes in parallel using the following syntax: spawn < p1 | ... | pn >
|
case
|
class
Sum
|
class
UChan
Untyped channel. |
|
case
|
class
UGP
An untyped guarded process. |
Constructor Summary | |
def
this
|
Val Summary | |
val
spawn
: pilib.this.Spawn
|
Def Summary | |
def
choice
[a]
(s: pilib.this.GP[a]*)
: a
Pi-calculus non-deterministic choice. |
Constructor Detail |
Val Detail |
Def Detail |
def
choice
[a](s: pilib.this.GP[a]*): a
s -
...