Paradiqma: | Funksional, obyekt yönümlü |
Yaradılıb: | 1985 |
Tərəfindən: | Gérard Huet, Guy Cousineau, Ascánder Suárez, Pierre Weis, Michel Mauny (Heavy Caml), Xavier Leroy (Caml Light, OCaml) |
İlham alıb: | ML |
İlhamlanıb: | F# |
Ə.S: | Kross Platform |
Veb səhifə: | http://caml.inria.fr/ |
Caml(Categorical Abstract Machine Language)- 1985-ci ildə Fransız bir qurum olan İNRİA tərəfindən yaradılmış funksional və obyektyönümlü proqramlaşdırma dilidir. Digər adı ilə də Objective Camlda adlanır.
print_endline "Hello World!";;
let rec fact n = if n=0 then 1 else n * fact(n - 1);;
alternativ olaraq bu cür də yazıla bilər
let rec fact = function
| 0 -> 1
| n -> n * fact(n - 1);;
let rec fib n =
if n < 2 then 1 else fib (n - 1) + fib (n - 2)
;;
let main () =
if Array.length Sys.argv <> 2 then begin
print_string "Usage: fib <number>";
print_newline()
end else begin
try
print_int (fib (int_of_string Sys.argv.(1)));
print_newline ()
with Failure "int_of_string" ->
print_string "Bad integer constant";
print_newline ()
end
;;
if !Sys.interactive then () else main ();;