pkg.sopackage field notes

brew / rank 1459

Install ocaml with Homebrew

General purpose programming language in the ML family. Version 5.5.0 via Homebrew; verified 2026-07-13.

install

Additional install commands

macOS

Homebrewverified · 100%
brew install ocaml

provider-native install command

overview

Package summary

General purpose programming language in the ML family

Commands and aliases

  • aarch64-unknown-linux-gnu-ocamlrun-a104
  • aarch64-unknown-linux-gnu-ocamlrund-a104
  • aarch64-unknown-linux-gnu-ocamlruni-a104
  • ocaml
  • ocamlc
  • ocamlc.byte
  • ocamlc.opt
  • ocamlcmt
  • ocamlcp
  • ocamldebug
  • ocamldep
  • ocamldep.byte
  • ocamldep.opt
  • ocamldoc
  • ocamldoc.opt
  • ocamllex
  • ocamllex.byte
  • ocamllex.opt
  • ocamlmklib
  • ocamlmktop
  • ocamlobjinfo
  • ocamlobjinfo.byte
  • ocamlobjinfo.opt
  • ocamlopt
  • ocamlopt.byte
  • ocamlopt.opt
  • ocamloptp
  • ocamlprof
  • ocamlrun
  • ocamlrun-a104
  • ocamlrund
  • ocamlrund-a104

history

Project history and usage

OCaml is the main implementation of the Caml branch of the ML family: a strict, statically typed, type-inferred language with functional, imperative, modular, and object-oriented features. The brewed ocaml package installs the compiler suite, runtime tools, lexer and parser generators, documentation tools, debugger, dependency analyzer, and native-code and bytecode compilers.

Project history

OCaml grew out of Caml work at INRIA. Caml Special Light arrived in 1995 with an optimizing native-code compiler and a module system inspired by Standard ML; Objective Caml followed in 1996 after Didier Remy and Jerome Vouillon's object-type work was integrated into the language. The official name became OCaml in 2011.

The language evolved through major compiler and ecosystem changes. OCaml 4.0 in 2012 added GADTs and first-class modules; OCaml 4.03 in 2016 split ocamlbuild out of the compiler distribution; OCaml 5.0 in 2022 rewrote the runtime, removed the global runtime lock, and introduced support for shared-memory parallelism and effect handlers.

Adoption history

OCaml began with a strong academic base and gained industrial users around the Objective Caml period documented by ocaml.org. The official history page identifies adoption in static analysis tools, compilers, financial systems, and web development, and the language ecosystem later consolidated around opam, Dune, odoc, ocamlformat, merlin, and related platform tools.

How it is used

Developers use OCaml for compilers, formal-methods tooling, static analysis, developer tools, financial infrastructure, web services, and systems where strong static typing and fast native code are useful. The package exposes both bytecode and native compilers, the interactive toplevel, ocamldebug, ocamldep, ocamldoc, ocamllex, ocamlyacc, and object-inspection tools.

Why package nerds care

OCaml is package-nerd rich because the compiler version is also an ecosystem axis. opam switches, findlib package names, Dune language versions, compiler-libs compatibility, PPX AST versions, and long-lived compiler branches all affect whether an OCaml package can build.

Timeline

  • 1995: Caml Special Light introduced an optimizing native-code compiler and a stronger module system.
  • 1996: Objective Caml was released, combining object-oriented programming with ML-style polymorphic type inference.
  • 2000: Optional arguments and polymorphic variants were added.
  • 2011: The official language name became OCaml.
  • 2012: OCaml 4.0 added GADTs and first-class modules.
  • 2013: opam 1.0 established a source-based package manager for OCaml switches and packages.
  • 2022-12-16: OCaml 5.0.0 introduced runtime support for shared-memory parallelism and effect handlers.
  • 2026-06: The OCaml manual describes the 5.5 release line.

Related projects

  • opam is the source-based package manager for OCaml; Dune is the dominant build system; ocamlfind/findlib is the older library discovery layer; ocamlbuild is the legacy build manager; merlin and ocaml-lsp-server provide editor integration; odoc and ocamldoc cover documentation generation.

security posture

Risk level: yellow

generalized runtime or code generation signal.

Risk classifier

yellow risk · medium confidence · runtime

Why

  • generalized runtime or code generation signal

Signals

  • text:programming language

Install behavior

  • No Homebrew bottle metadata was recorded.

Recommended review

Before unattended agent use, check whether the tool reads plaintext credentials, writes remote state, publishes artifacts, or shells out to plugins.

executables

Installed executables

CommandKindExposureNote
aarch64-unknown-linux-gnu-ocamlrun-a104executableindexed executableDiscovered from the local executable index.
aarch64-unknown-linux-gnu-ocamlrund-a104executableindexed executableDiscovered from the local executable index.
aarch64-unknown-linux-gnu-ocamlruni-a104executableindexed executableDiscovered from the local executable index.
ocamlexecutableindexed executableDiscovered from the local executable index.
ocamlcexecutableindexed executableDiscovered from the local executable index.
ocamlc.byteexecutableindexed executableDiscovered from the local executable index.
ocamlc.optexecutableindexed executableDiscovered from the local executable index.
ocamlcmtexecutableindexed executableDiscovered from the local executable index.
ocamlcpexecutableindexed executableDiscovered from the local executable index.
ocamldebugexecutableindexed executableDiscovered from the local executable index.
ocamldepexecutableindexed executableDiscovered from the local executable index.
ocamldep.byteexecutableindexed executableDiscovered from the local executable index.
ocamldep.optexecutableindexed executableDiscovered from the local executable index.
ocamldocexecutableindexed executableDiscovered from the local executable index.
ocamldoc.optexecutableindexed executableDiscovered from the local executable index.
ocamllexexecutableindexed executableDiscovered from the local executable index.
ocamllex.byteexecutableindexed executableDiscovered from the local executable index.
ocamllex.optexecutableindexed executableDiscovered from the local executable index.
ocamlmklibexecutableindexed executableDiscovered from the local executable index.
ocamlmktopexecutableindexed executableDiscovered from the local executable index.
ocamlobjinfoexecutableindexed executableDiscovered from the local executable index.
ocamlobjinfo.byteexecutableindexed executableDiscovered from the local executable index.
ocamlobjinfo.optexecutableindexed executableDiscovered from the local executable index.
ocamloptexecutableindexed executableDiscovered from the local executable index.
ocamlopt.byteexecutableindexed executableDiscovered from the local executable index.
ocamlopt.optexecutableindexed executableDiscovered from the local executable index.
ocamloptpexecutableindexed executableDiscovered from the local executable index.
ocamlprofexecutableindexed executableDiscovered from the local executable index.
ocamlrunexecutableindexed executableDiscovered from the local executable index.
ocamlrun-a104executableindexed executableDiscovered from the local executable index.
ocamlrundexecutableindexed executableDiscovered from the local executable index.
ocamlrund-a104executableindexed executableDiscovered from the local executable index.
ocamlruniexecutableindexed executableDiscovered from the local executable index.
ocamlruni-a104executableindexed executableDiscovered from the local executable index.
ocamlyaccexecutableindexed executableDiscovered from the local executable index.

freshness

Version and freshness

These signals separate page generation age, package-manager activity, and upstream release comparison. Version lag is warned only when an evidence URL and comparable versions are present.

page generated2026-08-03
manager version5.5.0
manager updated2026-07-13
local dataunknown
upstreamnot available
latest detectednot detected
  • okNo freshness warnings were generated.

install metadata

Package metadata

Package keybrew:ocaml
Version5.5.0
Package managerHomebrew
Homepagehttps://ocaml.org/
Repositoryhttps://github.com/ocaml/ocaml
Last updated2026-07-13T05:11:30Z
Pulseupdated
Bottlenot recorded
Servicenone declared

source trail

Generated from repository data

This page is generated by av-web from the private package SQLite artifact built by scripts/generate-pkg-sqlite.py.

Used sources

  • Geiger risk classifier
  • Nucleus package database
  • curated package history
  • pkgdb category and tag curation