OCaml

OCaml

(* Binary tree with leaves carrying an integer. *) type tree = Leaf of int | Node of tree * tree let rec exists_leaf test tree = match tree with | Leaf v -> test v | Node (left, right) -> exists_leaf test left || exists_leaf test right let has_even_leaf tree = exists_leaf (fun n -> n mod 2 = 0) tree. OCaml is a lot more powerful than this simple ...About This SiteAbout This Site. Aims. OCaml.org is a community driven website ...OPAMThe homepage of OPAM, a package manager for OCaml.More results from ocaml.org »

Download OCaml
OCaml Video

Alternatives to OCaml

Haskell

Free
Haskell is a purely functional programming language that can accomplish a wide range of tasks in a seamless and streamlined manner.
Show details

Scala

Free
Scala is a coding language that bridges the gap between functional and imperative programming.
Show details

Rust

Free
Empowering everyone to build reliable and efficient software.
Show details

Nim (programming language)

Free
Nim is a systems and applications programming language. Statically typed and compiled, it provides unparalleled performance in an elegant package.
Show details

Erlang

Free
Erlang is a programming language used to build massively scalable soft real-time systems with requirements on high availability. Some of its uses are in telecoms, banking, e-commerce, computer
Show details

Clojure

Free
Clojure is a dynamic, general-purpose programming language, combining the approachability and interactive development of a scripting language with an efficient and robust infrastructure
Show details

Elixir

Free
Professional Consulting and Development for companies using Elixir or Ruby. Projects Inception, Design and Software Development.
Show details