aboutsummaryrefslogtreecommitdiff
path: root/discocaml/main.ml
diff options
context:
space:
mode:
authorNathan Ringo <nathan@remexre.com>2024-01-18 12:40:28 -0600
committerNathan Ringo <nathan@remexre.com>2024-01-18 12:40:28 -0600
commitc3efede502f0f9ba3b03195ac8f30fff0376c8ab (patch)
treea5897c077b3300eae1c1db3d2bca1b13f9e5e25d /discocaml/main.ml
parent00d0bfced902e97eeae5257c14134d4bc7efc710 (diff)
Libify ocaml, add buttons to interaction.
Diffstat (limited to 'discocaml/main.ml')
-rw-r--r--discocaml/main.ml42
1 files changed, 1 insertions, 41 deletions
diff --git a/discocaml/main.ml b/discocaml/main.ml
index d9895f1..1f325e2 100644
--- a/discocaml/main.ml
+++ b/discocaml/main.ml
@@ -1,44 +1,4 @@
-type command = [ `Roundtrip ]
-
-let command_of_yojson = function
- | `String "Roundtrip" -> Ok `Roundtrip
- | _ -> Error "invalid command"
-
-type request = { expr : string; command : command }
-[@@deriving of_yojson { exn = true }]
-
-type response = [ `Error of string ] [@@deriving to_yojson { exn = true }]
-
-(*
-type position = [%import: Lexing.position] [@@deriving show]
-
-type location = [%import: (Location.t[@with Lexing.position := position])]
-[@@deriving show]
-
-type constant = [%import: Parsetree.constant] [@@deriving show]
-type expression_desc = [%import: Parsetree.expression_desc] [@@deriving show]
-type expression = [%import: Parsetree.expression] [@@deriving show]
-
-type structure_item_desc = [%import: Parsetree.structure_item_desc]
-[@@deriving show]
-
-type structure_item = [%import: Parsetree.structure_item] [@@deriving show]
-type structure = [%import: Parsetree.structure] [@@deriving show]
-type toplevel_phrase = [%import: Parsetree.toplevel_phrase] [@@deriving show]
-
-let parse ~path (src : string) =
- let buf = Lexing.from_string src in
- buf.lex_start_p <- { buf.lex_start_p with pos_fname = path };
- buf.lex_curr_p <- { buf.lex_curr_p with pos_fname = path };
- Parse.expression buf
-
-let () =
- parse ~path:"main.ml" " print_endline ((\"Hello, world!\") )"
- |> Format.fprintf Format.std_formatter "\n%a\n" Pprintast.expression
-*)
-
-let handle_request { expr; command } : response =
- match command with `Roundtrip -> `Error ("TODO: " ^ expr)
+open Discocaml
let () =
Yojson.Safe.from_channel stdin