OCaml

Fra Wikipedia, den frie encyklopedi
(Omdirigert fra Objective Caml)
Hopp til navigering Hopp til søk
OCaml
OCaml Logo.svg
Kom til1996
ParadigmeMulti-paradigme: Funksjonell programmering, Imperativ programmering, objektorientert programmering
Designet avXavier Leroy, Damien Doligez
Utviklet avINRIA
Siste versjon(er)4.07.1 / 4. okt. 2018
Skrive disiplin inferens, statisk, sterk, strukturell
Filendelse(r).ml, .mli
LisensQ Public License, LGPL-2.1
Implementert i
Objective Caml
Innflytelse av
Standard ML

OCaml, eller Objective Caml, er «storebroren» til Caml og tilbyr i tillegg til Caml-egenskapene mulighet for objektorientert programmering.

Hello World[rediger | rediger kilde]

  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]

programmeringstubbDenne programmeringrelaterte artikkelen er foreløpig kort eller mangelfull, og du kan hjelpe Wikipedia ved å utvide den.