in scala.concurrent
object pilib

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
 }
 
See Also:
PiLib: A Hosted Language for Pi-Calculus Style Concurrency
Author:
Vincent Cremet, Martin Odersky
Version:
1.0

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
def this

Val Detail
val spawn : pilib.this.Spawn

Def Detail
def choice [a](s: pilib.this.GP[a]*): a
Pi-calculus non-deterministic choice.
Parameters:
s - ...
Returns:
...