OCamlP3l is a compiler for Caml parallel programs.
The OCamlP3l programming paradigm is skeleton programming. The
skeletons encapsulate basic parallel programming patterns in a well
understood and structured approach. Based on P3L, the Pisa Parallel
Programming Language, OCamlP3l skeleton algebra is embedded in a
full-fledged functional programming language, namely Objective Caml.
The skeleton programming approach used in OCamlP3l allows three
different operational interpretations of the same source program:
* the sequential interpretation which is deterministic, hence easy
to understand and debug,
* the parallel interpretation using a network of computing nodes
run in parallel to speed up the computation,
* the graphical interpretation, which is run to obtain a drawing
of the parallel computing network deployed at run-time by the
parallel interpretation.