OCaml
Utseende
Kildeløs: Denne artikkelen mangler kildehenvisninger, og opplysningene i den kan dermed være vanskelige å verifisere. Kildeløst materiale kan bli fjernet. Helt uten kilder. (10. okt. 2015) |
OCaml | |||
---|---|---|---|
Tilblivelse | 1996 | ||
Paradigme | Multi-paradigme: Funksjonell programmering, imperativ programmering, objektorientert programmering, modulær programmering | ||
Designet av | Xavier Leroy, Damien Doligez | ||
Utviklet av | INRIA | ||
Siste versjon(er) | 5.2.0 / 13. mai 2024 | ||
Typetildeling | inferens, statisk, sterk, strukturell | ||
Filendelse(r) | .ml, .mli | ||
OS | Unix-liknende | ||
Lisens | Q Public License, LGPL 2.1 | ||
Implementert i | |||
Objective Caml, C | |||
Påvirket av | |||
Standard ML |
OCaml, eller Objective Caml, er «storebroren» til Caml og tilbyr i tillegg til Caml-egenskapene mulighet for objektorientert programmering.
ocaml -I +labltk Objective Caml version 3.09.1 # print_endline "Hello world";; Hello world - : unit = () # let f = print_endline;; val f : string -> unit = <fun> # let g x y = x^" "^y;; val g : string -> string -> string = <fun> # let h = g "Hello";; val h : string -> string = <fun> # h "world";; - : string = "Hello world" # h "kévin";; - : string = "Hello kévin" # let (&) f g x = g (f x) ;; val ( & ) : ('a -> 'b) -> ('b -> 'c) -> 'a -> 'c = <fun> # ( h & f ) "world";; Hello world - : unit = () #load "labltk.cma";; #open Tk;; # let _ = let top = openTk () in let button = Button.create ~background:`White ~text:"Hello" top in bind ~events:[`ButtonPress;`KeyPressDetail "Return"] ~action:(fun _ -> print_endline "Hello World") top; pack [coe button]; mainLoop() ;; - : unit = () #
Eksterne lenker
[rediger | rediger kilde]- (en) Offisielt nettsted
- (en) OCaml – kategori av bilder, video eller lyd på Commons
Denne artikkelen er en spire. Du kan hjelpe Wikipedia ved å utvide den.