The JoCaml system
The JoCaml system is an experimental extension of the
Objective-Caml language with the distributed join-calculus programming
This model includes high-level communication and synchronising channels,mobile
agents, failure detection and automatic memory management. JoCaml enables
programmers to rapidly develop distributedlarge-scale applications, using both
Objective-Caml ease of programmation and extended libraries, and the
join-calculus distributed and concurrent features. It can already be viewed as
the next-generation Internet programming language.
Our implementation is currently only beta-released:
JoCaml sources (November 23
1998 : tar.gz of 2.4 Mo)
The current distribution contains:
- The Objective-Caml distribution, version 1.07
- The Join library, included in the distribution
- Lots of examples:
- Bomberman: The famous game, rewritten by Joachim Tordjman.
- The Netscape Plugins: to run JoCaml applets under Netscape, written
from Calves by Joachim Tordjman.
- Pong: The pong game, written by Sylvain Conchon.
- Bataille: The navy war game, written by Sylvain Conchon.
- Tron : The tron game, written in join by Luc Maranget, and translated in
JoCaml by Fabrice Le Fessant.
- Mandel: 3 versions of the mandelbrot fractal, written by Luc Maranget
for the join system, and translated by Fabrice Le Fessant. One of these
versions is a program mixing bytecode and native code.
- Hevea server: a patch to apply to HeVea 1.01, to make it move as a mobile
agent from a server to different clients.
Papers on the Implementation
Papers on the Join-calculus
- The join-calculus model of concurrency: The
reflexive chemical abstract machine and the join-calculus, by
Cédric Fournet and Georges Gonthier, POPL'96.
- On distributed programming: A
calculus of mobile agents, by Cédric Fournet, Georges
Gonthier, Jean-Jacques Lévy, Luc Maranget and Didier Rémy,
- On testing equivalence: May and Must
Testing in the Join-Calculus, by C. Laneve. Technical Report
UBLCS 96-04, University of Bologna, March 1996.
- On security: Secure Implementation of Channel Abstractions, by Martin Abadi, Cedric Fournet, and Georges Gonthier, LICS'98.
draft of the full version.
Contact address and bug reports: email@example.com