The Ocaml reference article from the English Wikipedia on 24-Jul-2004
(provided by Fixed Reference: snapshots of Wikipedia from wikipedia.org)

Ocaml

For thoughtful child sponsors

Objective Caml, also known as Ocaml or O'Caml for short, is an advanced programming language that is part of the ML family. It is developed and distributed by INRIA. Ocaml was created in 1996 as a successor to Caml Light. Its authors include Xavier Leroy, Jerome Vouillon and Damien Doligez.

CAML originally stood for Categorically Abstract Machine Language. Ocaml has not been based on this abstract machine for a long time.

Ocaml shares the functional and imperative features of ML, but contains object-oriented concepts and some minor syntax differences.

Performance distinguishes Ocaml from other languages in the ML family. The runtime system was designed to be fast, efficient, and rather frugal in memory. Ocaml provides both a bytecode compiler and an optimizing native code compiler. The code generated by the native code compiler is typically comparable to C/C++ in efficiency.

Powerful features of the language include a static type system, type inference, parametric polymorphism, tail recursion, pattern matching, first class lexical closures, functors (parametric modules), exception handling, and incremental generational automatic garbage collection.

OCaml features are pragmatically balanced between expressivity and new features on the one side and ease of interfacing with existing systems and libraries and efficiency on the other side. Ocaml contains support for Posix functions such as printf, linking with C primitives, and even C- and FORTRAN-compatible "big arrays".

Ocaml distributions include a preprocessor, a debugger, and general purpose libraries and are available for a wide range of platforms, including Unix, Windows, and Macintosh, with native code generation for all major architectures (IA32, PowerPC, AMD64, Sparc, IA64, Alpha, HP/PA, MIPS, StrongARM).

Ocaml is used in a wide range of applications, including theorem proving and computer program analysis. It is also used in applications such as MLDonkey, a popular P2P program supporting multiple networks and the Unison File Synchronizer.

Programs implemented in Ocaml have won prizes several times in the ICFP programming contest.

Ocaml is used as an introductory language in many universities, including École Normale Supérieure and Caltech.

See also

External links


Programming languages
Ada | AWK | BASIC| C | C++ | C# | COBOL | ColdFusion | Common Lisp | Delphi | Fortran | IDL | Java | JavaScript | Lisp | Perl | PHP | Prolog | Pascal | Python | SAS | SQL | Visual Basic | More programming languages
Edit this template