INRIA Sophia Antipolis
What is CtCaml?
CtCaml provides a working environment for the caml
language. This environment has been developed using the Centaur
system, a generic interactive programming environment generator. CtCaml
has the following characteristics:
Type checking functionalities presented in the CtCaml environment are experimental
and must been seen as examples of what added value type information can
bring to a programming environment.
multiple fonts and colors are used to display programs, highlighting
Structured editing and presentation mechanisms:
the environment provides ways to edit structurally Caml programs, whole
sub-expressions can be shrunk in one click of the mouse, with syntactic
Menu directed editing:
the environment provides menus for editing and transforming new sub-programs,
these menus can easily be extended to incorporate the user's favorite transformations.
An advanced (but experimental) type checker:
the environment provides an advanced type checker, allowing the highlighting
of the various sub-expressions involved in a detected type error.
Textual explanation of types (experimental):
using its powerful formatting capabilities and a powerful type checking
algorithm, the CtCaml environment can present explanations of the type
of sub-expression in a way that resembles natural language.
Reusability and separation between the interface and the type checker:
the various tools are derived from existing compilers; the graphical
interface and the type checker engine run as two separate processes.
To know more about CtCaml, you may also want to have a look at the report
Environment for ML'' report.
CtCaml profits from work done on programming environments, in particular
developed in the CROAP
group at INRIA
Laurence Rideau/ INRIA Sophia Antipolis / Laurence.Rideau@inria.fr