open Spice let () = Logs.set_reporter (Logs.format_reporter ()); Logs.set_level (Some Logs.Debug); try let ast = parse "val x = 1 fun f() g() + x fun g() 5 println(f())" in Logs.debug (fun m -> m "%a" Ast.pp_modl ast); let prog = compile ast in Logs.debug (fun m -> m "%a" Code.pp_program prog); let modl = run prog in Logs.debug (fun m -> m "%a" Value.pp modl) with Error msg -> Logs.err (fun m -> m "%s" msg)