Scala 2.5.0-final

API Specification

This document is the API specification for Scala Library Documentation

Class Summary
abstract class Actor extends Thread with AnyRef
The class Actor ...
class Channel [a] extends AnyRef
This class ...
trait LinkedListQueueCreator extends AnyRef
Efficient queue module creator based on linked lists.
trait ListQueueCreator extends AnyRef
Inefficient but simple queue module creator.
class Lock extends AnyRef
This class ...
class MailBox extends ListQueueCreator
This class ...
class Pid (actor : Actor) extends AnyRef
The class Pid provides process identifiers to thread-based actors.
class Process (body : => Unit) extends Actor
trait QueueModule [a] extends AnyRef
Module for dealing with queues.
class SyncChannel [a] extends AnyRef
The class SyncChannel ...
class SyncVar [a] extends AnyRef
The class SyncVar ...
Object Summary
object NameServer extends AnyRef
object Process extends AnyRef
This object ...
case object TIMEOUT extends Product
The message sent to a message box when the period specified in receiveWithin expires.
object jolib extends AnyRef
Library for using join-calculus concurrent primitives in Scala.
object ops extends AnyRef
The object ops ...
object pilib extends AnyRef

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) )