module Ast = Ast module Lexer = Lexer module Parser = Parser module Typechecker = Typechecker module Generator_json = Generator_json module Generator_c = Generator_c module Module_system = Module_system type program = Ast.program val parse_string : string -> (program, string) result val load_source_with_imports : string -> (string, string) result val parse_file : string -> (program, string) result val string_of_program : program -> string val type_check : program -> (program, string) result val parse_and_type_check : string -> (program, string) result val parse_and_type_check_file : string -> (program, string) result val generate_json : program -> string val generate_c : program -> string