The CamlFlow system

CamlFlow is a Caml to data-flow graph translator. It can be used either to produce data-flow representations of some Caml programs or to describe existing graphs in a textual manner in Caml.


A quick introduction

CamlFlow uses a (strict) subset of the Caml Light syntax to describe data-flow graphs. In this graph, nodes represent builtin or user-defined primitives and edges denote data-dependencies. For example, the following CamFlow program

produces the following graph
  CamlFlow comes in two flavors: a standalone, batch-oriented compiler that can output external graph representations in several formats from Caml source files and an interactive, toplevel-based system, to be used as an "inferior process" for another "graph-handling" application. Two output formats are currently supported by the batch compiler Currently, the interactive system only works in conjunction with the DOTTY application.

CamlFlow has been written in Caml Light


Examples

You can have a look at some sample programs and results to get an idea of CamlFlow capabilities and limitations.


Availibility

Release 1.04 has been tested on a Sun SPARC running SunOS 4.1.3 and a HP 9000/715 under HP-UX 10.20, but it should compile on any Unix platform supported by the Caml Light distribution. You will need Caml Light 0.74 and the graphviz package to use the interactive system.


Related papers


Contact

Feedback, bug report to Jocelyn Sérot

Last update: Jun 14 2000