OCAML

Objective CAML, the object-oriented, concurrent variation of the ML functional programming language.

From the Ocaml official description: Please, it is better to avoid long citation for copyright reasons. Anyway, where this text come from precisely? -- MaD70

Objective Caml belongs to the ML family of programming languages and has been implemented at INRIA Rocquencourt within the ``Cristal project'' group. Since ML's inception in the late seventies, there has been a continuous line of research at INRIA devoted to implementations and improvements of ML. Objective Caml owes a lot to the original core ML language and to our first Caml implementation (1985-1990). A new byte-coded implementation called Caml Light was developed in the early nineties. The language Caml Light is still in use, especially for education. The language was renamed Objective Caml after the incorporation of a sophisticated module system and an object-oriented layer.

As all dialects of ML, Objective Caml possesses:

In addition, Objective Caml features:

The Objective Caml implementation comes with general purpose libraries (arbitrary precision arithmetics, multi-threading, a toolkit for graphical user interfaces, etc.) and a Unix-style programming environment including a replay debugger and a time profiler. Objective Caml programs can easily be interfaced with other languages, in particular with other C programs or libraries. The implementation is targeted towards separate compilation of stand-alone applications, although interactive use via a read-eval-print loop is also supported. Both compilation to byte-code (for portability) and to native assembly code (for performance) are supported. The native code compiler generates very efficient code, complemented by a fast, unobtrusive incremental garbage collector. The implementation runs on most Unix platforms (Linux, Digital Unix, Solaris, IRIX), under Windows 95 and NT, and on the Macintosh.


This page is linked from: Coq   Felix   FreshML   Garbage Collection   Inheritance   MetaML   ML   Object-Oriented   Orthogonal   PL 101   Python   Type System   Unified