General-Purpose, Industrial-Strength, Expressive, and Safe
let square x = x * x val square : int -> int = < fun > square 3 - : int = 9 let rec fac x = if x <= 1 then 1 else x * fac (x - 1) val fac : int -> int = < fun > fac 5 - : int = 120 square 120 - : int = 14400
Trusted by Industry Leaders
Unobtrusive Type Safety
Fast Compiler and Efficient Applications
First-Class Editor and Tooling
Users of OCaml
Install OCaml, set up your favorite text editor and start your first project.
Read the reference manual of the language and documentation on the compiler.
What expert programmers and researchers are saying about OCaml, from the beginner level to more advanced topics.
Searchable API documentation.
Learn OCaml by solving problems on a variety of topics, from easy to challenging.
Papers that have influenced OCaml and other functional programming languages.