Summary
This chapter presented the different programming support tools that
come with the Objective CAML distribution.
The first tool performs a static analysis in order to determine the
dependencies of a set of compilation units. This information can then
be put in a Makefile, allowing for separate compilation (if you
alter one source file in a program, you only have to compile that file,
and the files that have dependencies to it, rather than the entire program).
Other tools give information about the execution of a program. The interactive toplevel offers a trace of the execution;
but, as we have seen, polymorphism imposes quite heavy restrictions on
the observable values. In fact, only the global declarations of
monomorphic values are visible, which nevertheless includes the
arguments of monomorphic functions and permits tracing of recursive functions.
The last tools are those in the tradition of development under
Unix, namely a debugger and a profiler. With the first,
you can execute a program step by step to examine it's operation, and the second gives
information about its performance. Both are usable only under Unix.