5.1.1[3]
/ 8 December 2023; 4 months ago (8 December 2023)
Typing discipline
Inferred, static, strong, structural
Implementation language
OCaml, C
Platform
IA-32, x86-64, Power, SPARC, ARM 32-64, RISC-V
OS
Cross-platform: Linux, Unix, macOS, Windows
License
LGPLv2.1
Filename extensions
.ml, .mli
Website
ocaml.org
Influenced by
C, Caml, Modula-3, Pascal, Standard ML
Influenced
ATS, Coq, Elm, F#, F*, Haxe, Opa, Rust,[4] Scala
Objective Caml at Wikibooks
OCaml (/oʊˈkæməl/oh-KAM-əl, formerly Objective Caml) is a general-purpose, high-level, multi-paradigm programming language which 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.
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 is used in static analysis and formal methods software. Beyond these areas, it has found use in systems programming, web development, and specific financial utilities, among other application domains.
The acronym CAML originally stood for Categorical Abstract Machine Language, but OCaml omits this abstract machine.[5] 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.
OCaml (/oʊˈkæməl/ oh-KAM-əl, formerly Objective Caml) is a general-purpose, high-level, multi-paradigm programming language which extends the Caml dialect...
$4.3bn to $5.6bn. Jane Street writes almost all of its software in the OCaml programming language. Jane Street is informally led by a group of 30 or...
10, 2021. Retrieved April 14, 2024. "A History of OCaml | OCaml.org". Retrieved 2015-09-18. "OCaml Infrastructure mailing list". Retrieved 2015-09-18...
Crystal, D, Dart, Elixir, Elm, F#, Go, Hack, Haskell, Julia, Kotlin, Nim, OCaml, Python, Rust, Scala, Swift and TypeScript. C++ features type aliasing using...
developed in the functional programming language OCaml. As a unique functional programming language, OCaml offers runtime efficiency, flexible module system...
April 2016. Simple, fast & type safe code that leverages the JavaScript & OCaml ecosystems: facebook/reason, Facebook, 24 March 2019, retrieved 24 March...
it is defined by the standard library as value class Result<out T>. In OCaml, it is defined by the standard library as type ('a, 'b) result = Ok of 'a...
supervised by Andy Hopper and David Greaves. Anil is the author of Real World OCaml, the second edition of which was published in Oct 2022 by Cambridge University...
tasks is currently not a viable option in the .NET Framework.[needs update] OCaml supports coroutines through its Thread module. These coroutines provide...
(through JIT) LabVIEW, G Lisp Common Lisp Mercury ML Standard ML Alice OCaml Nim (to C, C++, or Objective-C) Pascal Object Pascal Delphi Free Pascal...
Smalltalk platform independent VM bytecode Swift ML Standard ML (SML) Alice OCaml F# (into CIL, generates runtime) Turing V (Vlang) Vala (GObject type system)...
Poly/ML. Has a BSD-style license. HOL Light – A thriving "minimalist fork". OCaml based. ProofPower – Went proprietary, then returned to open source. Based...
In computer science, the Earley parser is an algorithm for parsing strings that belong to a given context-free language, though (depending on the variant)...
The user can instantiate the class as collections.defaultdict(list). OCaml's standard library module Hashtbl implements a hash table where it's possible...
type. OCaml's standard library provides marshalling through the Marshal module and the Pervasives functions output_value and input_value. While OCaml programming...
comprehensions (a.k.a. zip-comprehensions). OCaml Batteries Included Language extensions introduced in OCaml Batteries Included The Python Tutorial, List...
available for Ada, C, Crystal, D, Euphoria, Go, Java, Julia, .NET, Nim, OCaml, Python, Ruby, and Rust. Experimental mobile ports were made available for...
showValue(empty) showValue(full) -> The Value is: 42 showValue(empty) -> No value In OCaml, the option type is defined as type 'a option = None | Some of 'a. let show_value...
methods of objects), and is now widespread, seen in C#, Dart, Go, Java, OCaml, and Python, among others. Modular programming became widespread from the...
Common Lisp, Scheme, Clojure, Wolfram Language, Racket, Erlang, Elixir, OCaml, Haskell, and F#. Functional programming is also key to some languages that...