let printUsage () = print_endline "Usage: jlox [script]"; exit 64 let () = let argc = Array.length Sys.argv in match argc - 1 with | 0 -> Lox.runRepl () | 1 -> let path = Sys.argv.(1) in Printf.printf "Running script %s\n" path; let ic = open_in path in let source = In_channel.input_all ic in let result = Lox.run source in Result.iter_error Lox.Error.print_error result | _ -> printUsage ()