true;; false;; 'a';; '!';; "asd";; "\"";; 1;; 1.;; ();; .1;; 1 = 2;; 1 = 1.;; 'a' <> 'b';; 4 < 6;; "asd" <= "bas";; compare;; compare 5 7;; compare 8 1;; compare "a" "a";; min 5. 8.;; not (("a" = "b" || true) && ( false || false));; max_int;; -3;; 4 - 5;; 5 / 2;; 7 mod 3;; 1. /. 3. ;; 4. - 1.5;; 4. -. 1.5;; 3. ** 5.;; 1. / 0.;; 1. /. 0.;; 0. /. 0.;; 0. /. 0. = 0. /. 0.;; "asd" ^ "qwe";; 0xA3;; 0o12;; 0b10;; (1,2);; (1,2,4);; ("asd", 'f', 5., 3 = 3);; compare;; (~-);; type coord = int * int;; (3,4);; ((3,4) : coord);; ((3,4) : coord) = (3,4);; (fun x -> x * x);; (fun x -> x *. x);; let constant = 3;; constant + 1;; let square = (fun x -> x * x);; square 5;; let squarea x = x * x;; type direction = Left | Right;; Left;; type mynat = Zero | Succ mynat;; type mynat = Zero | Succ of mynat;; Succ (Succ (Succ Zero));; let rec fact n = if n < 2 then 1 else n * (fact (n - 1));; fact 1;; fact 3;; fact 4;; let f x = 0;; let f x = if x = 0 then -1 else f (x - 1);; f 2;; let rec f x = if x = 0 then -1 else f (x - 1);; f 2;; max_int + 1;; max_int + 1 = min_int;; let is_left dir = match dir with | Left -> true | Right -> false ;; is_left Left;; is_left Right;; let add x y = x + y;; add 3;; let add3 = add 3;; add3 4;; (fun x -> add x 5);;