|
|
Scala 2.3.3
|
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 < p_1 | ... | p_n >
|
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 - ...