Ocaml
OCaml (skrajšano iz Objective Caml, kar je angleški izraz za predmetni jezik vrste 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 programje, za katerega skrbi francoska raziskovalna ustanova INRIA.
OCaml ima lastnosti funkcijskih in ukaznih jezikov, tako kot vsi jeziki iz družine ML, poleg tega pa je tudi predmetno usmerjen. 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 predmetno in modularno programiranje, ki omogoča pisanje velikih programskih projektov.
OCaml je naslednik Caml Light. Kratica CAML pomeni abstraktni strojni jezik s kategorijami (izvirno angleško Categorical Abstract Machine Language).
Primeri programov
[uredi | uredi kodo]Računanje Fibonaccijevih števil v programskem jeziku Objective Caml različice 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]
Zunanje povezave
[uredi | uredi kodo]- The Caml Language - uradna stran