true;; (true);; (true : bool);; false;; 3;; -12;; max_int;; 234;; 3.14;; 3.;; (3 : float);; "asd";; "This is a string\n";; 'a';; "a";; ();; "a" = "b";; 'a' <> 'v';; 'a' <> "a";; 3 < 4;; 4 <= 7;; compare;; compare 5 8;; compare "a" "qwe";; min 3 4;; true && false;; (true && false) || (1 = 0 + 1);; (true && false) || not (1 = 0 + 1);; 3 + 4;; 7 * 3;; 7 / 3;; 7.;; 3.;; 7. /. 3.;; 1. /. 0.;; (1. /. 0.) = (-1. /. 0.);; 0. / 0.;; 0. /. 0.;; sqrt (2.);; 2. ** 4.;; truncate(sqrt (2.));; trunace (- 1.9);; truncate (- 1.9);; "asd" ^ "qwe";; "qwe".[1];; (2, 3);; ("asd", ((2, 3), 'a'));; fst ("asd", ((2, 3), 'a'));; snd ("asd", ((2, 3), 'a'));; (3,4,5);; type my_pair = int * int;; (5,6);; ((5,6) : mypair);; ((5,6) : my_pair);; type my_ab = A | B;; A;; B;; (A,B);; type my_value = I of int | F of float;; I 5;; I 5 = F 5.;; type 'a my_many = None | One of 'a | Two of 'a * 'a;; One 'a';; Two ('a', 'a');; Two ('a', 3);; type my_nat = Zero | Suc of my_nat;; compare;; (+);; (^);; (+) 1;; let a = A;; let c = 3.14;; let f x = x + 2;; c;; f;; f 3;; let g x = g (x - 1);; let rec fact n = if n = 1 then 1 else n * (fact (n - 1));; fact 5;; let value_of_ab x = match x with A -> 'a' | B -> 'b';; value_of_ab B;; 1 + (fun x -> x + 2) 1 + 1;;