AardvarkBusiness.net - Business Search Engine AardvarkBusiness.net - Business Search Engine


Home > Programming

Ocaml
by Wikipedia of Wikipedia.org
 
Wikipedia is a free content encyclopedia written collaboratively by contributors from around the world.
Click here to see other articles by Wikipedia
 
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 Categorical 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.

Features

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. The object system provides for multiple inheritance, object construction directly (by specifying methods for a unique object) or from classes, and structural subtyping (objects are of compatible types if their methods are compatible, regardless of what was inherited from what).

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 familiar functions such as printf, and a foreign function interface which permits easy linking with C primitives, including language support for efficient numerical arrays in formats compatible with both C and FORTRAN.

The OCaml distribution includes a powerful preprocessor (which permits syntactical extensions), a debugger (which includes the ability to step backwards in time when investigating an error), and numerous general purpose libraries. The compiler is available for a 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).

Uses

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 (http://www.cis.upenn.edu/~bcpierce/unison/).

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 EPITA, École Normale Supérieure, Caltech, Brown University, and the University of Pisa.

This article is licensed under the GNU Free Documentation License.
It uses material from the Wikipedia article "Ocaml".
 
Email this article to a friend
HTML code (to link to this article from your Website)
BBCode (to link to this article in a forum post)

   

Latest Articles

° The Top Twelve E-Mail Mistakes...
° IEEE 802.17
° WiMAX
° IEEE 802.6
° IEEE 802.3
° Logical link control (LLC)
° IEEE 802.1
° Systems Network Architecture
° Open systems interconnect
° IPX/SPX

Aardvark Articles Search Engine - Aardvark Articles Directory - Aardvark Articles Forum - Add Your Articles
Make Aardvark Articles your homepage - Bookmark Aardvark Articles - Link to Aardvark Articles
Monitor your traffic with Aardvark Tracking


[Valid RSS]

Contact Aaron the Aardvark


© Website design by The Dedicated Partnership All rights reserved.