Scala 2
API Specification

This document is the API specification for Scala 2.

Class Summary
`abstract` | `class` Actor The class `Actor` ...
| `class` Channel [a] This class ...
| `class` Lock This class ...
| `class` MailBox This class ...
| `class` Pid The class `Pid` provides process identifiers to thread-based actors.
| `class` Process
| `class` SyncChannel [a] The class `SyncChannel` ...
| `class` SyncVar [a] The class `SyncVar` ...

Trait Summary
`abstract` | `trait` LinkedListQueueCreator Efficient queue module creator based on linked lists.
`abstract` | `trait` ListQueueCreator Inefficient but simple queue module creator.
`abstract` | `trait` QueueModule [a] Module for dealing with queues.

Object Summary
| `object` NameServer
| `object` Process This object ...
`case` | `object` TIMEOUT The message sent to a message box when the period specified in `receiveWithin` expires.
| `object` jolib Library for using join-calculus concurrent primitives in Scala.
| `object` ops The object `ops` ...
| `object` pilib 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
     }