2 November 2013, by Emmanuel Dieul
The OCaml Development Tools (ODT) project aims to be like the JDT (Java Development Tools) Eclipse plugins. It provides IDE features for OCaml application developments, such as automatic compilation, custom editors...
What is ODT
ODT is a set of plugins for the Eclipse IDE environment. With these plugins, you should be able to develop most of OCaml applications. You just have to copy these plugins into your Eclipse distribution in order to access to facilities for developing OCaml applications.
What is not ODT
ODT does not replace the compilers of the OCaml distribution, since ODT is based upon them.
ODT is not a miracle: it cannot take into account all the specific needs of an OCaml project, as it is in a development phase and as it makes simple assumptions on the "common ways" to develop OCaml applications. For example, it is not yet possible to take into account C or C++ code which is embedded or linked with OCaml applications.
ODT was created by Emmanuel Dieul. As the original existing plugins of Leif Frenzel (2004/09) was not enough developed in comparison with the JDT plugins, ODT started in July 2006. It was clearly inspired from the JDT GUI and also from the original plugins, but the plugins has completely been rewritten to produce a more flexible source code.
Today, the ODT project has more functionalities than the original plugins of Leif Frenzel and aims to become a standard for the development of OCaml applications.
Up to now, ODT provides a limited set of features, due to a continuous development. The features provided are:
- automatic compilation of OCaml sources (ml, mli, mll, mly) based upon ocamldep
- automatic production of executables by selecting the main OCaml source file
- custom editors for OCaml sources with:
- syntax highlighting,
- automatic indentation
- error and warning in-line markers,
- on the fly compilation
- outline view (only for ml and mli sources)
- all the basic functionalities of the Eclipse editor (word completion, line number mode, ...)
- code completion assistant (since ODT 3.0)
Now, ODT lacks of:
- compilation specific needs
- unit testing