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.4.0 / 9. okt. 2025 | ||
| 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.