From 5d227bcd0055d02e1d49a3dcd27e80a756923d5b Mon Sep 17 00:00:00 2001 From: Malte Voos Date: Sun, 23 Jun 2024 23:31:59 +0200 Subject: split code into smaller libraries and make a better repl --- bin/main.ml | 25 ------------------------- 1 file changed, 25 deletions(-) delete mode 100644 bin/main.ml (limited to 'bin/main.ml') diff --git a/bin/main.ml b/bin/main.ml deleted file mode 100644 index afae47c..0000000 --- a/bin/main.ml +++ /dev/null @@ -1,25 +0,0 @@ -open Toytt - -module Term = Asai.Tty.Make(Reporter.Message) - -let parse (s : string) : Ast.expr = - let lexbuf = Lexing.from_string s in - let string_source : Asai.Range.string_source = { - title = None; - content = s; - } in - let source = `String string_source in - ParserEff.Eff.run ~env:source @@ fun () -> - let ast = Parser.parse Lexer.lex lexbuf in - ast - -let rec repl () = - let input = read_line () in - let ast = parse input in - let (tp, tm) = Elab.infer_toplevel ast in - let value = Eval.eval ~env:Emp tm in - Format.printf "%a : %a\n%!" Syntax.Pretty.pp (Quote.quote ~size:0 value, Emp) Syntax.Pretty.pp (Quote.quote ~size:0 tp, Emp); - repl () - -let () = - Reporter.run ~emit:Term.display ~fatal:Term.display @@ fun () -> repl () -- cgit 1.4.1