let global = ref 0
let foo () = begin
global := !global + 1 ;
!global
end
let bar () = begin
global := !global * 2 ;
!global
end
let () =
printf "%d\n" (foo ()) ;
printf "%d\n" (bar ()) ;
printf "%d\n" (foo ()) ;
printf "%d\n" (bar ())
b3BlbiBQcmludGYKCmxldCBnbG9iYWwgPSByZWYgMAoKbGV0IGZvbyAoKSA9IGJlZ2luCglnbG9iYWwgOj0gIWdsb2JhbCArIDEgOwoJIWdsb2JhbAoJZW5kCgpsZXQgYmFyICgpID0gYmVnaW4KCWdsb2JhbCA6PSAhZ2xvYmFsICogMiA7CgkhZ2xvYmFsCgllbmQKCmxldCAoKSA9CglwcmludGYgIiVkXG4iIChmb28gKCkpIDsKCXByaW50ZiAiJWRcbiIgKGJhciAoKSkgOwoJcHJpbnRmICIlZFxuIiAoZm9vICgpKSA7CglwcmludGYgIiVkXG4iIChiYXIgKCkp