Module Distributed

This module provides modules to create distribtued computations. Distributed comutations are described using the Process. Process provides a monadic interface to describe distributed computations.

Some nomenclature :

module Node_id : sig ... end

This module provides a type representing a node id.

module Process_id : sig ... end

This module provides a type representing a process id.

module type Nonblock_io = sig ... end

Abstract type which can perform monadic concurrent IO.

module type Message_type = sig ... end

The abstract type representing the messages that will be sent between processes.

module type Process = sig ... end

A unit of computation which can be executed on a local or remote host, is monadic.

module Make (I : Nonblock_io) (M : Message_type) : Process with type message_type = M.t and type 'a io = 'a I.t

Functor to create a module of type Process given a message module M of type Message_type.