Tipe Option Pada Ocaml
Tipe data option memberi kemungkinan nilai ada atau tidak ada (Schrödinger cat data type).

Option memberi kemungkinan suatu variabel memiliki isi (Some) atau kosong (None). OCaml tidak memiliki null.
Tipe Option berikatan dengan tipe data lain sebagai tipe data bila berisi.
Pembangkitan Option
<tipe data> option
Contoh
let alamat: string option;;
Setiap nilai pada tipe option di awali Some kecuali kosong (None).
let alamat = Some "rumah sakit terdekat";;
(* val alamat : string option = Some "rumah sakit terdekat" *)
Some dan None membungkus nilai yang tersimpan pada variabel alamat.
Pattern match digunakan untuk mengambil nilai pada tipe data Option
match alamat with
| None -> "Alamat tidak ketemu"
| Some nilai -> nilai
;;
(* string = "rumah sakit terdekat" *)
Match pada pola Some nilai, variabel nilai mengekstrak isi (Some) dari variabel alamat menjadi tipe string.
None mengembalikan nilai pengganti bila nilai kosong.