OCaml

programmeringsspråk

OCaml, eller Objective Caml, er «storebror» til Caml og tilbyr i tillegg til Caml-eigenskapane moglegheit for objektorientert programmering.

Hello World endre

   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 = ()
   #