WHAT IS OCaml?
OCaml, formerly Objective Caml) is a general-purpose, multi-paradigm programming language that extends the Caml dialect of ML with object-oriented features. OCaml was created in 1996 by Xavier Leroy, Jérôme Vouillon, Damien Doligez, Didier Rémy, Ascánder Suárez, and others.
FOUNDATION OF OCaml:
Xavier Leroy (born March 15, 1968) is a French computer scientist and programmer. He is best known for his role as a primary developer of the OCaml system. He is a Professor of software science at Collège de France. Before his appointment at Collège de France in 2018, he was a senior scientist (directeur de recherche) at the French government research institution Inria.
Leroy was admitted to the École normale supérieure in Paris in 1987, where he studied mathematics and computer science. From 1989 to 1992 he did his PhD in computer science under the supervision of Gérard Huet.
He is an internationally recognized expert on functional programming languages and compilers. In recent years, he has taken an interest in formal methods, formal proofs and certified compilation. He is the leader of the CompCert project that develops an optimizing compiler for C (programming language), formally verified in Coq.
Leroy was also the original author of LinuxThreads, the most widely used threading package for Linux versions before 2.6. Linux 2.6 introduced NPTL, with much more extensive support from the kernel, to replace LinuxThreads. The OCaml toolchain includes an interactive top-level interpreter, a bytecode compiler, an optimizing native-code compiler, a reversible debugger, and a package manager (OPAM). OCaml was initially developed in the context of automated theorem proving, and has an outsize presence in static analysis and formal methods software. Beyond these areas, it has found serious use in systems programming, web development, and financial engineering, among other application domains.
The acronym CAML originally stood for Categorical Abstract Machine Language, but OCaml omits this abstract machine.OCaml is a free and open-source software project managed and principally maintained by the French Institute for Research in Computer Science and Automation (INRIA). In the early 2000s, elements from OCaml were adopted by many languages, notably F# and Scala.
FEATURES OF OCaml:
OCaml is notable for extending ML-style type inference to an object system in a general-purpose language. This permits structural subtyping, where object types are compatible if their method signatures are compatible, regardless of their declared inheritance (an unusual feature in statically typed languages).
A foreign function interface for linking to C primitives is provided, including language support for efficient numerical arrays in formats compatible with both C and Fortran. OCaml also supports creating libraries of OCaml functions that can be linked to the main program in C, so that an OCaml library can be distributed to C programmers who have no knowledge or installation of OCaml.
The OCaml distribution contains:
Lexical analysis and parsing tools called complex and ocamlyacc
A debugger that supports stepping backwards to investigate errors
Documentation generator
Profiler – to measure performance
Many general-purpose libraries
USED BY:
Several dozen companies use OCaml to some degree. Notable examples include:
Bloomberg L.P., which created BuckleScript, an OCaml compiler backend targeting JavaScript.
Citrix Systems, which uses OCaml in XenServer (rebranded as Citrix Hypervisor during 2018).
Facebook, which developed Flow, Hack, Infer, Pfff, and Reason in OCaml.
Jane Street Capital, a proprietary trading firm, adopted OCaml as its preferred language in its early days.
MEDIT, France, uses OCaml for bioinformatics
FOLLOW US ON INSTAGRAM, FACEBOOK AND PINTEREST
DISCLAIMER
The information is provided by Tecquisition for general informational and educational purposes only and is not a substitute for professional legal advice. If you have any feedback, comments, requests for technical support or other inquiries, please mail us at tecqusition@gmail.com.
Comments