open Trivialml_lexer;;
open Trivialml_parser;;
open Trivialml;;
open Environment;;
open Printer;;
open Type_checking;;

let parse () =
  Trivialml_lexer.parse_stdin ();;

let program =
  parse ();;

let result_type =
  program_type program Environment.empty;;
Printf.printf "- : %s\n" (string_of_type result_type);

Printf.printf "Type checking passed\n";;

let result =
  program_eval program Environment.empty in

print_string (string_of_value result);
print_newline ();;
