package distributed

  1. Overview
  2. Docs

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

  • author essdotteedot <essdotteedot_at_gmail_dot_com>
  • version 0.6.0

Some nomenclature :

  • Node : A node corresponds to a operating system process. There can be many nodes on a single machine.
  • Process : A process corresponds to a light weight thread (i.e., user space cooperative threads). There can be many processes on a single Node.
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.