The OCaml system is the main implementation of the Caml language. It has a very strong type-checking system, offers a powerful module system, automatic memory management, first-class functions, and adds a full-fledged object-oriented layer. OCaml includes a native-code compiler supporting numerous architectures, for high performance; a bytecode compiler, for increased portability; and an interactive loop, for experimentation and rapid development. OCaml’s integrated object system allows object-oriented programming without sacrificing the benefits of functional programming, parametric polymorphism, and type inference. The language is mature, producing efficient code and comes with a large set of general purpose as well as domain-specific libraries.
OCaml is often used for teaching programming, and by large corporations. OCaml benefits from a whole range of new tools and libraries, including OPAM (package manager), optimizing compilers, and development tools such as TypeRex and Merlin.
Type of Language: Multi-paradigm: functional, imperative, object-oriented
Designed by: Xavier Leroy, Jérôme Vouillon, Damien Doligez, and Didier Rémy at INRIA
Public Release: 1996
RECOMMENDED OPEN SOURCE BOOKS
OPEN SOURCE SOFTWARE FOR DEVELOPERS
Awesome OCaml – a curated list of references to awesome OCaml tools, frameworks, libraries and articles. Additionally there is a collection of freely available books, papers and presentations.