Ocaml

Iz MaFiRaWiki

OCaml (Objective Caml) je splošni programski jezik iz družine programskih jezikov ML. Ustvarili so ga Xavier Leroy, Jérôme Vouillon, Damien Doligez, Didier Rémy in ostali leta 1996. OCaml je prosto dostopen projekt (open source project), za katerega skrbi INRIA.

OCaml ima lastnosti funkcijskih in ukaznih jezikov, tako kot vsi jeziki iz družine ML, poleg tega pa je tudi objektno-orientiran. OCaml je prevajalnik s statičnimi tipi, z neučakano evaluacijo in z avtomatskim upravljanjem pomnilnika.

Osnovni OCaml je opremljen z naslednjimi orodji:

  • interaktivna zanka, v kateri lahko neposredno izvajamo ukaze,
  • prevajalnik v vmesno kodo (bytecode),
  • prevajalnik z optimizacijo v strojno kodo,
  • razhroščevalnik (debugger), v katerem lahko izvajamo program korakoma nazaj v času,
  • standardna knjižnica podatkovnih struktur in ostalih dodatkov, primerljiva z osnovno knjižnico Pythona ali Perla,
  • podpora za objektno in modularno programiranje, ki omogoča pisanje velikih programskih projektov.

OCaml je naslednik Caml Light. Kratica CAML pomeni "Categorical Abstract Machine Language".

Primeri programov

Naslednji primeri prikazujejo uporabo interkativne zanke.

 
        Objective Caml version 3.08.3
 
# 2 + 3 ;;
- : int = 5
# let rec fib = function
    0 -> 1
  | 1 -> 1
  | n -> fib (n-1) + fib (n-2) ;;
val fib : int -> int = <fun>
# List.map fib [0;1;2;3;4;5;6;7;8;9;10] ;;
- : int list = [1; 1; 2; 3; 5; 8; 13; 21; 34; 55; 89]

Povezave

Osebna orodja