---
key: pl/ocaml
kind: plang
name: "OCaml"
url: https://plangs.page/ocaml
---

# OCaml

> General-purpose, multi-paradigm language extending Caml with OO features.

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.

## Facts

- Appeared: 1996
- Homepage: https://ocaml.org/
- GitHub: https://github.com/ocaml/ocaml
- Languish ranking: #57

## Relationships

### Paradigms

- [Functional](https://plangs.page/paradigm/functional)
- [General-Purpose](https://plangs.page/paradigm/general-purpose)
- [Imperative](https://plangs.page/paradigm/imperative)
- [Modular](https://plangs.page/paradigm/modular)
- [Multi](https://plangs.page/paradigm/multi)
- [Object-Oriented](https://plangs.page/paradigm/oop)

### Platforms

- [Apple](https://plangs.page/platform/apple)
- [ARM](https://plangs.page/platform/arm)
- [Cross-Platform](https://plangs.page/platform/cross)
- [Linux](https://plangs.page/platform/linux)
- [RISC-V](https://plangs.page/platform/riscv)
- [Windows](https://plangs.page/platform/windows)
- [x86-64](https://plangs.page/platform/x86-64)

### Type Systems

- [Algebraic Data Types](https://plangs.page/type-system/algebraic)
- [Generic](https://plangs.page/type-system/generic)
- [Inferred](https://plangs.page/type-system/inferred)
- [Object-Oriented](https://plangs.page/type-system/object)
- [Static](https://plangs.page/type-system/static)
- [Strong](https://plangs.page/type-system/strong)
- [Structural](https://plangs.page/type-system/structural)

### Target Of

- [Haxe](https://plangs.page/haxe)
- [Reason](https://plangs.page/reason)

### Dialects

- [F#](https://plangs.page/f-sharp)
- [Reason](https://plangs.page/reason)

### Influenced By

- [C](https://plangs.page/c)
- [Pascal](https://plangs.page/pascal)
- [Standard ML](https://plangs.page/standard-ml)

### Influenced

- [Boomerang](https://plangs.page/boomerang)
- [Coq](https://plangs.page/coq)
- [F#](https://plangs.page/f-sharp)
- [Flix](https://plangs.page/flix)
- [Gleam](https://plangs.page/gleam)
- [Hack](https://plangs.page/hack)
- [Haxe](https://plangs.page/haxe)
- [Reason](https://plangs.page/reason)
- [Rust](https://plangs.page/rust)
- [Scala](https://plangs.page/scala)

### Written With

- [C](https://plangs.page/c)

### Used to Write

- [Coq](https://plangs.page/coq)
- [Hack](https://plangs.page/hack)
- [Haxe](https://plangs.page/haxe)
- [Reason](https://plangs.page/reason)
- [Rust](https://plangs.page/rust)

### Licenses

- [LGPL](https://plangs.page/license/lgpl)

### Tags

- [Automation](https://plangs.page/tag/automation)
- [Compiler](https://plangs.page/tag/compiler)
- [Control](https://plangs.page/tag/control)
- [Data Analysis](https://plangs.page/tag/analysis)
- [Industrial Control](https://plangs.page/tag/industrial)
- [Interpreter](https://plangs.page/tag/interpreters)
- [Proof Assistant](https://plangs.page/tag/proofs)
- [Visualization](https://plangs.page/tag/viz)
