OCaml (o-ké-mel) atau Objective Caml ialah sebuah bahasa pengaturcaraan yang merupakan pelaksanaan utama bagi bahasa pengaturcaraan Caml. OCaml mencakupi Caml dengan ciri-ciri sambungan pengaturcaraan berorientasi objek. OCaml adalah satu daripada kelompok bahasa ML.

Antara ciri-ciri OCaml ialah penjenisan statik, inferens jenis, polimorfisme parameter, rekursi ekor, pemadanan corak, tutupan kelas pertama, fungtor, tanganan pengecualian, dan kutipan sampah automatik janaan tokokan.

F# ialah bahasa Microsoft .NET yang diilhamkan berdasarkan OCaml.

Contoh kod sunting

Yang berikut ialah atur cara hello world yang ditulis dalam OCaml:

 print_endline "Hello world!"

Kod berikut pula menghitung bilangan Fibonacci sebanyak n urutan. Kod ini menggunakan rekursi ekor dan pemadanan corak.

let rec fib_aux (n, a, b) =
  match (n, a, b) with
  | (0, a, b) -> a
  | _ -> fib_aux (n - 1, a + b, a)
 
let fib n = fib_aux (n, 0, 1)

Pautan luar sunting