Version française
Home     About     Download     Resources     Contact us    

This site is updated infrequently. For up-to-date information, please visit the new OCaml website at

The Caml Hump: Communications and networking :: RPC

Native OCaml libraries
Concurrent Cell [25-Jan-2010, version 3.0beta2, Beta]
'Concurrent Cell' is a library for multi-thread programming with CML(Concurrent ML) style synchronous message passing communications. The Threads library, a part of OCaml, realizes the CML style event value, but does not support shared variables like ivar and mvar. This library implements these variables without creating any new thread. This means that ivar and mvar are lightweight and GC target.
Development tools
Hydro [05-May-2009, version 0.7, Beta]
Hydro is an independent implementation of ICE, the object-oriented RPC protocol by ZeroC, for the O'Caml programming language. Hydro (like ICE) allows you to bridge language barriers by letting components written in different programming languages communicate with each other. ZeroC's ICE product currently includes implementations for C++, Java, C#, Python, Ruby, VB, and PHP. Hydro adds support for O'Caml. The ICE protocol is rich enough to make the representation of the data to communicate easy and convenient to use, and adopts an object-oriented type system. ZeroC sees ICE as a superior successor to CORBA.
Author: Gerd Stolpmann.
Native OCaml libraries
OCaml XML-RPC [15-Mar-2004, version 0.2.3, Beta]
An implementation of the XML-RPC protocol.
Author: Shawn Wagner.
Native OCaml libraries
OCaml-bitcoin [07-Nov-2012, version 1.0, Stable]
OCaml-bitcoin is a library offering an OCaml interface to the official Bitcoin client API. It works by making JSON-RPC calls over the network to a running Bitcoin daemon offering the client API.
Author: Dario Teixeira.
Development tools
Orpc [19-Apr-2010, version 0.3, Beta] Has a documentation
Orpc is a tool for generating RPC clients and servers. It can generate clients / servers for use with Ocamlnet's ONC RPC implementation (like ocamlrpcgen), and also for RPC over HTTP for use with ocamljs. To describe interfaces, you give orpc an OCaml signature instead of an RFC-1831/1832-format file. Most OCaml types (including polymorphic types), exceptions, and functions with labelled/optional arguments are supported.
Author: Jake Donham.
rmwd [12-May-2004, version 0.7, Beta] Has a documentation
Remote Middleware Daemon is a high level identity management library focused on services and access control, and exposed via both xdr-rpc, and xml-rpc. It is written entirely in Objective Caml, except for the trivial xmlrpc interface, which is in perl.
Author: Eric Stokes.
Native OCaml libraries
rpc [17-Jun-2002, version 0.3.2, Stable] Has a Godi package
RPC is a package supporting the Sun RPC protocol. RPC programs, procedures, clients, and servers can be dynamically represented and modified. Of course, there is also a classical RPC generator which generates functions doing the language mapping from XDR values to language values and vice versa.
Author: Gerd Stolpmann.
Scientific software
Trx [28-Nov-2002, Beta] Has a documentation
Generic RPC transaction manager.
Author: Avik Chaudhuri.
Native OCaml libraries
XmlRpc-Light [29-Jan-2009, version 0.6.1, Beta]
XmlRpc-Light is an XmlRpc client written in OCaml. It requires Xml-Light and Ocamlnet.
Author: Dave Benjamin.